Redis回顾
字符串
set key val # 设置值
get key # 获取值
setex key time val # 设置值并设置过期时间
set nx key val # 设置值如果该值不存在的话
append key val # 指定key追加val
incr key # 指定key的值自增1
decr key # 指定key的值自减1
incrby kye num # 指定key的值自增指定数量
decrby key num # 指定key的值自减指定数量
strlen key # 获取长度
mset key val [key val ...] # 批量设置key
mget key val [key val ...] # 批量获取key
哈希(hash)
hset key filed val # 设置一个hash
hget key filed # 获取一个hash的指定field
hmset key field val [filed val ...] # 批量设置hash
hmget key filed [field ...] # 批量获取hash
hincrby key field num # hash的field自增指定数量
hsetnx key field val # 设置field的值,如果hash的field如果不存在的话
hexists key field # 判断指定field是否存在
hdel key field [field ...] # 删除指定field,支持批量删除多个
hgetall key # 获取一个hash下的所有key和val
hkeys key # 获取hash下的所有field
hvals key # 获取hash下的所有value
hlen key # 获取hash下指定key下有多少个field
列表
# 从左边插入数据
lpush key val [val ...]
# 从右边插入数据
rpush key val [val ...]
# 储存数据如果key不存在则什么都不做,如果key存在但是不是list结构则什么事都不做
lpushx key val
rpushx key val
# 设置指定索引的数据
lset key index val
# 使用弹栈方式取出数据
lpop key
rpop key
# 获取指定索引范围的数据(start从0开始, end填入-1代表是最后一个, -2代表倒数第二个)
lrange key start end
# 获取指定索引位置的数据
lindex key index
# 获取整个列表的长度
llen key
# 删除列表中的数据, 删除当前列表中的count个val
# 当count > 0 从左向右删除
# 当count < 0 从有向左删除
# 当count = 0 删除列表中全部的val
lrem key count val
# 保留列表中的数据(保留指定索引范围内的数据,超过整个索引范围被移除)
ltrim key start end
# 将一个列表中最后一个数据插入到另一个列表的头部位置
rpoplpush list1 list2
集合
# 存储数据
sadd key member [member ...]
# 获取数据(获取全部数据)
smembers key
# 随机弹出数据
spop key [num]
# 多个集合
# 交集(获取多个set集合的交集)
sinter set1 set2 ...
# 并集(获取全部集合中的数据)
sunion set1 set2 ...
# 差集(获取多个集合中不一样的数据)
sdiff set1 set2 ...
# 删除数据
srem key member [member ...]
# 查看当前set集合中是否包含这个值
sismember key member
有序集合
# 添加数据(score必须是数值,member不允许重复)
zadd key score member [score member ...]
# 修改member的分数(如果member是存在于key中的,正常增加分数,如果member不存在那这个命令就相当于zadd)
zincrby key score-num member
# 查看指定的member分数
zscore key member
# 获取zset中数据的数量
zcard key
# 根据score的范围查询member数量
zcount key min max
# 删除zet中的成员
zrem key member [member ...]
# 根据分数从小到大排序,获取指定范围内的数据(withscores如果添加这个参数那么会返回member对应的分数)
zrange key start end [withscores]
# 根据分数从大到小排序,获取指定范围内的数据(withscores如果添加这个参数那么会返回member对应的分数)
zrevrange key start end [withscores]
# 根据分数的范围去获取member(withscores代表同时返回score,添加limit就喝MySQL中的一样)
# 如果不希望等于min或者max的值被查询出来可以采用 '(分数' 相当于 < 但是不等于的方式
# 最大值和最小值使用+inf和-inf来标示
zrangebyscore key min max [withscores] [limit offset count]
# 根据分数的范围去获取member(withscores代表同时返回score,添加limit就喝MySQL中的一样)
zrangebyscore key max min [withscores] [limit offset count]
key的常用命令
# 查看redis中全部的key(patern: *, xxx*, *xxx)
keys pattern
# 查看某个key是否存在(1-存在, 0-不存在)
exists key
# 删除key
del key [key ...]
# 设置key的生存时间, 单位为秒
expire key second
# 设置key的生存时间, 单位为毫秒
pexpire key milloseconds
# 设置key的生存时间, 单位为秒, 设置能存活都指定时间
expireat key timestamp
# 设置key的生存时间, 单位为毫秒, 设置能存活都指定时间
pexpireat key milliseconds
# 查看key的剩余生存时间, 单位为秒
# -2 代表当前key不存在
# -1 代表当前key没有设置生存时间
# 返回具体剩余生存时间
ttl key
# 查看key的剩余生存时间, 单位为毫秒
pttl key
# 移除key的生存时间
# 1 代表移除成功
# 0 代表key不存在生存时间,或者key不存在
persist key
db常用命令
# 选择操作的库
select 0~15
# 移动key到另一个库中
move key db
# 清空当前所在的数据库
flushdb
# 清空全部数据库
flushall
# 查看当前数据库中有多少个key
dbsize
# 查看最后一次操作的时间
lastsave
# 实时监控redis服务接收到的命令
monitor
管道
# 待更新
配置文件
# 待更新
AUTH
# 待更新
持久化
# 待更新
事务
# 待更新
哨兵
# 待更新
主从
# 待更新
集群
# 待更新