Redis笔记

21 篇文章 0 订阅
6 篇文章 0 订阅

db操作

共有16个库,默认进入0号库flushdb清空当前库
flushall清空所有库
select db_index切换库dbsize查看当前库key的数量

key操作

伴随value一起增加del key同步删除kv
unlink key 非阻塞删除kv
keys * 查看所有key
exists key 判断key是否存在
type key 查看key对应value类型
ttl key查看key过期时间,-1表示永不过期(默认),-2表示已过期不存在
expire key ttl_time设置过期时间

value操作

类型String

set k v 添加kv,默认不过期
setex k ttl v 添加kv同时设置过期时间
setnx k v key不存在时才能设置
mset k1 v1 k2 v2…同时设置多个值
msetnx k1 v1 k2 v2 key都不存在才能设置成功
del k
append k v追加
getset k v查找时同时设置新值
incr/decr k 将k对应v加1
inrby/decrby k step 按步长增减
setrange k index v 将k从位置index处起设置为v
get k查看v
getset k v查找时同时设置新值
mget k1 k2…
strlen k 获取v长度
getrange k [start end] 获取v部分内容,起始索引为0
实现方式SDS(Simple Dynamic String),可修改,动态扩容,小于1M时扩容加倍,超过1M每次扩容1M,整个长度最大512M

类型List

lpush k v1 v2… 插入头部
rpush k v1 v2… 插入尾部
del k
lpop k 弹出头部
rpop k 弹出尾部
lrem k n v 删除n个v,从左到右
linsert k before v newv 在v前面插入newv
lset k index v 设置index处为v
lrange k start end 从左到右取数 lrange 0 -1查看所有元素
lindex key index 通过索引获取元素
llen key 获取列表长度
互操作rpoplpush k1 k2 取k1尾部插入k2头部
实现方式双向链表ziplist

类型Set

sadd k v1 v2
srem k v1 v2 删除
spop k 随机取一个,并删除这个元素
linsert k before v newv 在v前面插入newv
lset k index v 设置index处为v
smembers k 查看
sismember k v 判断
scard k 返回元素个数
srandmember k n 随机取n个元素但不删除
互操作smove k1 k2 v 把v从k1移入k2
sinter k1 k2 交集
sunion k1 k2 并集
sdiff k1 k2 差集
实现方式HashSet

类型HashMap, V为双元素

hset k field value为key增加field属性及对应值
hmset k f1 v1 f2 v2增加多个属性及值
hsetnx k field value属性不存在时添加
hincrby k field increment对field对应值增减
hget k field获取field对应值
hexist k field判断field是否存在
hkeys k 查看所有field
hvals k 查看所有field的value
实现方式ziplist hashtable

类型ZSet

zadd key score1 value1 score2 value2…创建zset
zrem key value删除集合中的value
zincrby key increment value将value的score增加increment
zrange key start end [withscores]查看value及score, zrange key 0 -1 查看所有元素
zrangebyscore key min max [withscores]查看socre在min max范围内数据,根据score从小到大
zrevrangebyscore key min max [withscores]查看socre在min max范围内数据,根据score从大到小
zcount key min max统计scrore在[min, max]范围内元素个数
zrank key value查看元素排名
实现方式跳表+Hash

类型BitMap

setbit key index 1 设置为1
setbit key index 0 设置为0
getbit key index获取
bitcount key start end计数
互操作bitop and/or/not/xor newkey key1 key2
实现方式bitmap

类型HyperLogLog

pfadd key value1 value2…
pfcount key统计基数
互操作pfmerge newkey key1 key2…HLL合并
实现方式HyperLoglog

类型Geospatial

geoadd key longitude latitude member…
geopos key member查询经纬度
geodis key member1 member2 m|km 查询距离
georadius key longitude latitude radius m|km查询某点为中心半径范围内元素
互操作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值