字符串 STR:
SET <KEY> <VALUE>
设置KEYGET <KEY>
获取KEYDEL <KEY>
删除KEY
可以使用
*
来匹配KEY 例如DEL *NAME
来删除 以NAME结尾的KEY
KEYS <KEY>
搜索KEYEXPIRE <kEY> <TIME: S>
设置KEY过期时间
过期后就会自动删除
TTL <KEY>
查看KEY过期时间SETNX <KEY> <VALUE>
如果KEY不存在设置
列表 LIST:
添加元素
LPUSH <LIST> <VALUE>
左添加RPUSH <LIST> <VALUE>
右添加获取元素
LRANGE <LIST> <start> <stop>
-1 为最后一个元素
LRANGE list 0 -1
表示全部元素
删除元素
LPOP <LIST> [count]
左删除RPOP <LIST> [count]
右删除
如果删除了
LIST
不剩一个元素就会删除这个list
LTRIM <LIST> <start> <stop>
截取LIST某一段 删除未选中的
集合 SET:
和python的set类似 不可有重复元素
SADD <SET> <VALUE>
添加元素SMEMBERS <SET>
查看元素SISMEMBER <SET> <VALUE>
判断元素是否在集合中SREM <SET> <VALUE>
删除元素
有序集合 ZSET:
每个元素有一个绑定的分数 按照分数排序
元素不能重复 分数可以重复
ZADD <ZSET> <SCORES> <VALUE>
添加元素ZRANGE <ZSET> <start> <stop>
查看元素
按照从小到大排序 后面加上
WITHSCORES
可以一同返回分数
ZSCORE <ZSET> <VALUE>
查看分数ZRANK <ZSET> <VALUE>
查看排名 分数 小 → 大ZREVRANK <ZSET> <VALUE>
查看排名 分数 大 →小ZREM <ZSET> <VALUE>
删除元素ZINCRBY <ZSET> <SCORES> <VALUE>
元素改分SCOURES
可以是负数
或者通过 ZADD 直接设置分数
哈希表 Hash:
HSET <HASH> <Hkey> <HValue>
添加键值对HGET <HASH> <Hkey>
获取值HGETALL <HASH>
获取所有键值对HDEL <HASH> <Hkey>
删除键值对HEXISTS <HASH> <Hkey>
判断键值对是否存在HKEYS <HASH>
获取所有keyHLEN <HASH>
获取长度
消息订阅:
发布订阅:
PUBLISH <频道> <msg>
发布消息到频道SUBSCRIBE <频道>
接收消息从频道消息队列:
XADD <STREAM> <msg-id | *> <key> <value> [keys、values]
添加消息
*
代表随机生成一个消息ID
XRANGE <STREAM> <start> <stop>
获取消息
可以使用
XRANGE STREAM - +
获取全部 或者用时间戳选择范围`1697730083524` - `1697730099999`
XDEL <STREAM> <msg-id>
删除消息XTRIM <STREAM> MAXLEN 0
删除所有消息XREAD COUNT <一次读取数量> BLOCK <阻塞时间> STREAMS <STREAM> <start>
HyperLogLog
基数运算 通过Hash算法 判断有多少不重复的值 速度快但有概率有误差
PFADD <KEY> <VALUE> [values]
添加元素PFCOUNT <KEY>
统计基数PFMERGE <KEY> <key1> <key2> [keys]
合并多个key到 KEY
集群模式
master 主节点
slave 从节点
主节点可以将数据复制给从节点 但不能反过来
默认配置是主节点 配置从节点可以使用 SLAVEOF <host> <port>
或者修改配置文件来配置slave
全局:
flusall
清空Redissave
触发持久化保存 (会造成Redis阻塞)bgsave
后台保存 如果数据比较大用这个AOF
可以将每条命令存在一个文件中 重新启动后会自动执行这个AOF文件来恢复