Redis 笔记

Redis 笔记

字符串 STR:

  • SET <KEY> <VALUE>设置KEY

  • GET <KEY>获取KEY

  • DEL <KEY>删除KEY

可以使用 * 来匹配KEY 例如 DEL *NAME来删除 以NAME结尾的KEY

  • KEYS <KEY>搜索KEY

  • EXPIRE <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>获取所有key

  • HLEN <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清空Redis

  • save触发持久化保存 (会造成Redis阻塞)

  • bgsave后台保存 如果数据比较大用这个

  • AOF可以将每条命令存在一个文件中 重新启动后会自动执行这个AOF文件来恢复

LICENSED UNDER CC BY-NC-SA 4.0
Comment