Redis常用命令
string类型
添加/修改多个数据
mset key1 value1 key2 value2 ...
获取多个数据
mget key1 key2
获取字符串个数
strlen key
追加数据到原始数据后部(不存在则新建)
append key value
字符串为数字操作(递增递减)
//数值的最大值为Java long的最大值 Long.MAX_VALUE
//递增
incr key
//递增指定数值
incrby key 指定数值
//递增指定小数
incrbyfloat key 指定数值
//递减
deor key
//递减指定数值
deorby key 指定数值
设置指定数据的生命周期
setex key 秒 value
psetex key 毫秒 value
hash类型
添加数据
//添加单个
hset key field value
//添加多个
hmset key field1 value1 field2 value2
//添加数据 如果field存在则不做添加,不存在则添加
hsetnx key field value
获取数据
//获取单个数据
hget key field
//获取多个数据
hmget key field1 field2
//获取全部数据
hgetall key
删除数据
//删除单个数据
hdel key field1 ...
//删除全部数据
del key
查看当前hash存在几个数据
hlen key
查看是否存在某个字段
hexists key field
获取hash中存在的所有field或value
//获取field
hkeys key
//获取value
hvals key
设置指定field数值的指定值
//增加整数(传递负值可减少)
hincrby key field 数值
//增加小数
hincrbyfloat key field 数值
list类型
增加数据
//从左侧添加进入
lpush key value1 value2 ...
//从右侧添加进入
rpush key value1 value2...
获取数据
//以索引查询 start 0 stop -1 可查询所有
lrange key start stop
//以下标查询
lindex key index
获取集合长度
llen key
移除数据
//从左侧移除
lpop key
//从右侧移除
rpop key
//移除指定数据
lrem key count value
规定时间内获取并移除数据
//从左侧移除
blpop key1 [key2] timeout
//从右侧移除
brpop key1 [key2] timeout
set类型
添加数据
sadd key member1 [member2]
获取全部数据
smembers key
删除数据
srem key member1 [member2]
获取数据总量
scard key
判断集合中是否包含指定数据
sismember key member
随机获取集合中指定数量的数据
srandmember key [count]
随机获取数据并将该数据移除
spop key [count]
求两个集合的交、并、差集
//求交集
sinter key1 [key2]
//求并集
sunion key1 [key2]
//求差集
sdiff key1 [key2]
将两个集合的交、并、差集储存到指定集合
//交集
sinterstore 新的集合 key1 [key2]
//并集
sunionstore 新的集合 key1 [key2]
//差集
sdiffstore 新的集合 key1 [key2]
将指定数据从原始集合中移动到目标集合
smove 原始集合 目标集合 value
sorted_set类型
添加数据
zadd key score1 member1 [score2 member2]
获取数据
//由小到大 [withscores(将score展示出来)]
zrange key start stop [withscores]
//由大到小
zrevrange key start stop [withscores]
删除数据
zrem key member
按条件获取数据
//由小到大展示 limit指定展示数据的数量
zrangebyscore key min max [withscores] [limit]
//由大到小展示
zrevrangebyscore key max min [withscores]
根据条件删除
//按索引删除
zremrangebyrank key start stop
//按排序范围删除
zremrangeby key min max
获取数据的总量
//查询所有
zcard key
//查询范围内数据总量
zcount key min max
集合交、并操作
//可以进行运算 求和 最大值 最小值 可以 help zinterstore
zinterstore 新的集合 集合数量 key1 [key2 ...]
获取数据对应的索引(排名)
//由小到大
zrank key member
//由大到小
zrevrank key member
score值获取与修改
//获取
zscore key member
//修改
zincrby key 增加的数值 member
关于key的相关操作
删除指定key
del key
获取key是否存在
exists key
获取key的类型
type key
设置key的有效期
//设置秒
expire key seconds
//设置毫秒
pexpire key milliseconds
//使用时间戳
expireat key timestamp
pexpireat key milliseconds-timestamp
获取key的有效期
//如果一个key不存在 返回-2 存在返回-1 时效性返回剩余时间
ttl key
//剩余时间为毫秒
pttl key
切换key从时效性转换为永久性
persist key
查询有多少key
//查询所有
// * 代表所有 ?代表单个字符 []匹配一个指定字符
keys *
//查询以name结尾的
keys ?ame
//查询可以和abc匹配的key
mset name nbme nacme
keys n[ab]me
为key改名
//修改重名的会把 原有的覆盖
rename key newkey
//如果新key不存在才会改名
renamenx key newkey
对所有key排序
//对list和set进行排序
sort
其他key通用操作
help @generic
数据库通用操作
- redis为每个服务提供有16个数据库,编号从0到15
- 每个数据库之间的数据相互独立
切换数据库
select index
其他操作
//打印日志
echo message
//查询服务器是否启动
ping
//推出
quit
数据移动
move key db
数据清除
//查询key的数量
dbsize
//删除当前库数据
flushdb
//删除所有库的数据
flushall