Redis 常用基本命令
关于 redis 的常用基本命令
目录
关于 redis 的常用基本命令
1. 关于 key 的操作
2. HyperLogLog 求近似基数
3. 排序相关命令
4. Limit 限制查询
1. 关于 key 的操作
判断某个 key 是否存在
# 格式: exists key
exists name# 存在name 返回1
# 不存在name 返回0
查找或者正则匹配某个 key
# 查找key=s,完全一致匹配
keys s
# 查找以s开头,外加任意一个字符的key
keys s?
# 查找以s开头,外加任意或0个字符的key
keys s*# ?: 代表任意一个字符
# *: 代表0个或多个任意字符
重命名 key
# key: 旧键名 newkey: 新键名
rename key newkey # 若newkey已经存在,则newkey会被覆盖renamenx key newkey # 若newkey已经存在,则返回0,不执行该命令
删除key-value
# key-value 同时被删除
del key
查看键剩余生存时间
# 以秒为单位返回剩余生存时间
ttl key# 以毫秒为单位返回剩余生存时间
pttl key# return -2: key不存在
# return -1: key存在但未设置生存时间
设置键的生存时间
# 以秒为时间单位设置key的生存时间
expire key seconds
# 以毫秒为单位设置key的生存时间
pexpire key milliseconds# 设置键永不过期
persist key
以树形结构存储 key,格式为 -> 项目名:模块名:ID
# 格式: set key:id value
set person:1 zhangsanset person:2 lisiset person:3 wangwu
2. HyperLogLog 求近似基数
- 基数计数: 统计一个集合中不重复元素的个数,如网站的unique vistor,用户搜索关键词的数量等
- 近似基数并非实际基数,有可能比实际基数大一点或者小一点,但是这个误差在一个合理的范围内
- HyperLogLog 求近似基数与实际集合的大小无关,无论集合大还是小,HyperLogLog所需的内存大小都是固定的,且消耗较少的
- 在其他统计基数的场景里,集合元素的数量和统计所需内存的消耗是成正比的,但是在redis对象里的 HyperLogLog 只需要12kb的内存就能计算2^64个元素集合的基数
相关命令
添加键值对到 HyperLogLog 对象中
# 格式: pfadd key value value...
pfadd site u1 u2 u3 u4 u5 u6
根据 key 统计基数
# 格式: pfcount key key...pfcount site
3. 排序相关命令
通过排序命令可以对列表List,集合Set,有序集合Zset进行升序或降序排列
数据操作方式
数字列表排序
# 基于头部插入-构建列表 List
lpush score 12 45 67 98 2 54 10 36# asc: 升序 desc: 降序
sort score asc
字符串列表排序
# 基于尾部构建字符串列表
rpush name hutao ganyu leishen keli# 字符串列表排序要加上 alpha
sort name alpha desc
4. Limit 限制查询
某些时候不需要全部的查询结果,可以用 limit 限制返回查询结果的个数
# 基于头部插入-构建列表 List
lpush score 12 45 67 98 2 54 10 36# asc: 升序 desc: 降序
sort score asc limit 5 7# 语法格式 limit offset count
# offset: 偏移量,表示跳过的有序元素个数
# count: 表示本次查询的数据量个数