Redis 所有操作
string
# 获取一个 key
get key
# 设置 key
set key
# 一次性设置多个 key
mset k1 v1 k2 v2 k3
# 一次性获取多个 key
mget k1 k2 k3
# 自增 1
incr k1
hash
# Hash 操作
hset key hkey hvalue
hget key hkey
# 获取所有的 hkey
hgetall key
# 获取所有 hkey 的数量
hlen key
list
是一个双端链表的结构,容量是2的32次方减一,大概是40多亿,主要功能是 push 和 pop 等,一般用在栈,队列、消息队列等场景。
# 添加元素
lpush key
rlush key
# 取元素
lpop key
rpop key
# 遍历元素
lrange key start end
set
# 添加元素
sadd key
# 删除元素
srem key
# 遍历集合中所有的元素
smembers key
# 获取集合中元素的个数
scard key
# 随机弹出一个元素并且不删除集合中的数据
srandmember key 数字
# 随机获取一个数据并且从集合删除
spop key 数字
# 是否存在集合中
sismemeber key value
set 高级操作
# 交集
sinter key1 key2
# 差集
sdiff key1 key2
# 并集
sunion key1 key2
zset
有序 set
# 添加一个数据
zadd key sort value
# 修改排序的值
zincrby key num key
# 前十个
zrange key 0 10 withscores
# 有序的输出
zranke key
# 有序的输出
zreranke key
# 排序
zrangebyscope
bitmap
bit array (or simply bitmap,我们可以称之为位图),1个字节是8位。
支持的最大位数是2^32次方,他可以极大的节约存储空间,使用512MB可以存储42.9亿的字节信息。
底层使用 string 数据类型实现的一种统计二值状态的数据类型
# 下标默认是从 0 开始的
setbit key 下标 0/1
getbit key 下标
getop and newkey key1 key2
# 获取所有值为1的数量
bitcount key
hyperloglog
牺牲准确率来统计数据,误差只有0.81%左右,使用内存也很少每个密钥只需要12kb进行计数统计
crc16算法
# 添加数据
pfadd key val
# 基数统计
pfcount key
# 合并结果
pfmerge result key1 key2 key3
geo
地理位置的处理
# 多个经度、维度、位置名称添加到指定 key 中
geoadd key 经度 纬度 '位置名称' 经度 纬度 '位置名称'
# 从键里返回所有给定位置元素的位置(经度和纬度)
geopos key 位置名称(可以是多个名称使用空格分隔)
# 返回两个给定位置的距离
geodist key 位置名称 位置名称 单位(km | m)
# 以给定的经纬度为中心,返回与中心的距离不超过给定最大距离的所有
georadius key 经度 纬度 半径 单位(m | km) (可选参数 [withdist | withcoord | count 10(分页) | withhash desc])
# 类似于 georadius
georadiusbymemeber
# 返回一个或多个位置元素的 GEOHASH 表示
geohash