目 录CONTENT

文章目录

Redis | 使用指南

如风
2023-08-13 / 0 评论 / 0 点赞 / 42 阅读 / 1,041 字

Redis | 使用指南

安装与环境配置

Mac 环境下

使用homebrew安装

brew install redis	

启动redis

//方式一:使用brew帮助我们启动软件
brew services start redis
//方式二
redis-server /usr/local/etc/redis.conf

执行命令 redis-server

通过 redis-cli 连接 Redis

redis-cli -h 127.0.0.1 -p 6379

基本指令

数据库 | 全局

  • redis-cli -h 172.19.34.103 -p 12379连接redis数据库
  • Auth "OyIKglTFsDGEIlBM"登录,后面是数据库密码
  • select <索引0-15>切换到指定数据库
  • dbsize 查看所有key的数目
  • flushdb 删除当前选择数据库中的所有key
  • flushall 删除所有数据库中的所有key
  • save: 将数据同步保存到磁盘
  • bgsave: 异步保存
  • lastsave: 上次成功保存到磁盘的Unix时间戳
  • info: 查询server信息
  • ping pong检测redis服务器是否启动

Key相关

  • keys * 查看当前数据库所有的Key

  • type(s) key指定字段类型

  • get key获取指定key

  • rename key <newKey>修改key的名称

  • del key删除key

  • expire key <second>设置key过期时间

  • TTL key剩余生存时间

  • exists key判断key是否存在

  • keys aaa* 查看前缀是aaa的key ;可能会使服务器卡顿,而出现事故,用下面那个

  • SCAN 0 MATCH aaa* COUNT 5 表示从游标0开始查询aaa开头的key,每次返回5条,但是这个5条不一定,只是给Redis打了个招呼,具体返回数量看Redis心情

  • keys *aaa* 查看包括aaa的key

  • keys *aaa 查看后缀是aaa的key

string相关

普通字符串的基本操作:
    # 设置 key-value 类型的值
    > SET name lin
    OK
    # 根据 key 获得对应的 value
    > GET name
    "lin"
    # 判断某个 key 是否存在
    > EXISTS name
    (integer) 1
    # 返回 key 所储存的字符串值的长度
    > STRLEN name
    (integer) 3
    # 删除某个 key 对应的值
    > DEL name
    (integer) 1
批量设置 :
	# 批量设置 key-value 类型的值
    > MSET key1 value1 key2 value2 
    OK
    # 批量获取多个 key 对应的 value
    > MGET key1 key2 
    1) "value1"
    2) "value2"

hash相关

hset myhash name ljh      添加一个键值对
hget myhash name          取出值
hmset myhash name ljh age 20 note "i am notes"      批量键值对
hmget myhash name age note   
hgetall myhash               获取所有的键值对
hexists myhash name          是否存在
hsetnx myhash score 100      不存在的话创建,存在的话修改
hdel myhash name             删除
hkeys myhash                 只取key
hvals myhash                 只取value
hlen myhash                  长度

list相关

lpush mylist a b c  左插入
rpush mylist x y z  右插入
lrange mylist 0 -1  查询所有的数据
lpop mylist  弹出一个元素
rpop mylist  弹出一个元素
llen mylist  长度
lrem mylist count value  根据值来删除(count表示要删除多少个值为value的元素)
lindex mylist 2          指定索引的值
linsert mylist before 1 value   在值为1前面插入value值
linsert mylist after 1 value    在值为1的后面插入value值
rpoplpush list list2     将list的最后一个元素移到list2中

set相关

sadd myset e            添加一个元素
smembers myset       查询所有的数据
srem myset e        删除
sismember myset e 判断元素是否在集合中
scard key_name       获取set集合中元素个数
sdiff | sinter | sunion <key> <key> 操作:集合间运算:差集 | 交集 | 并集
srandmember          随机获取集合中的元素
spop                 从集合中弹出一个元素

zset相关

zadd zset 1 one          添加一个元素(1表示score,用作排序使用)
zadd zset 2 two            
zadd zset 3 three
zincrby zset 1 one              分数+1
zscore zset two                  获取分数
zrange zset 0 -1                   获取全部的值
zrange zset 0 -1 withscores     获取全部值并附带分数
zrangebyscore zset 10 25 withscores 分数在某个范围的值
zrangebyscore zset 10 25 withscores limit 1 2 分页
Zrevrangebyscore zset 10 25 withscores  指定范围的值从大到小排序
zcard zset  元素数量
Zcount zset 获得指定分数范围内的元素个数
Zrem zset one two        删除一个或多个元素
Zremrangebyrank zset 0 1  按照排名范围删除元素
Zremrangebyscore zset 0 1 按照分数范围删除元素
0

评论区