Redis常用操作


redis客户端的连接命令:

#linux是redis-cli
#普通环境
redis-cli.exe -h host -p port -a password
#集群环境,否则报:(error) MOVED 6918 127.0.0.1:6381
redis-cli.exe -c -h host -p port -a password

#参数说明
#host:远程redis服务器host
#port:远程redis服务端口
#password:远程redis服务密码(无密码的的话就不需要-a参数了)

#输入exit退出客户端

string命令

命令 解释
get key 获取key的值
set key v 设置key的值
del key 删除key(应用于所有类型)
incr key 将储存的值加上1,返回操作后的结果
decr key 将储存的值减去1,返回操作后的结果
incrby key amout 加上整数amount,返回操作后的结果
decrby key amout 减去整数amount,返回操作后的结果
incrbyfloat key amout 加上浮点数amount字符串二进制,返回操作后的结果
append key v 将值追加到key当前储存值的末尾,返回操作后字符串的长度
getrange key start end 获取下标start到end的字符串
setrange key offset v 将字符串看做二进制位串,并将位串中偏移量为offset的二进制位的值
getbit key offset

将字符串看做是二进制位串值为1的二进制位的数量,如果给定了可选的start偏移量和end偏移量,那么只对偏移量指定范围的二进制位进行统计。

bitop operation dest-key key-name [key-name …]

对一个或多个二进制位串进行 并and,或 or,异或XOR,非NOT 在内的任意一种安位运算符操作(bitwise operation),并将计算的结果放到dest -key里面

list命令

命令 解释
rpush key [v…] 将一个或多个加入列表右端,返回列表的长度
lpush key [v…] 将一个或多个加入列表左端,返回列表的长度
rpop key 移除并返回最右端的元素,返回移除的元素
lpop key 移除并返回列表最左端的元素,返回移除的元素
lindex key size 返回下标(偏移量)为size的元素,从0开始
lrange key start end 返回从start 到end的元素 包含start和end
ltrim key start end 只保留从start 到end的元素 包含start和end

hash命令

命令 解释 
hmget hkey key… 获取多个值 
hmset hkey key v…  为多个key设置值 
hdel hkey key…  删除多个值并返回 
hlen hkey  返回总数量 
hexists hkey key  检查key是否存在在散列中 
hkeys hkey 获取散列中所有key
hvals hkey 获取散列中所有值
hgetall hkey 获取散列
hincrby hkey key increment 为key的值上加上整数increment
hincrbyfloat hkey key increment 为key的值上加上浮点数increment

set命令

命令 解释
sadd key item … 添加多个,返回新添加的个数(已存在的不算)
srem key item… 从集合移除多个元素 ,返回被移除元素的数量
sismember key item 检查元素item是否在集合中
scard key 返回集合总数
smembers key 返回所有元素
srandmember key cout 随机返回cout个元素 cout为正整数 随机元素不重复 相反可能会出现重复
spop key 随机的移除一个元素 并返回已删除的元素
smove key1 key2 item 如果key1中包含item 移除key1中的item 添加到key2中,成功返回1 失败返回0
差运算 sdiffstore newkey key key1… 将存在于key集合但是不存在key1…集合的其他元素 放到newkey里面(咬掉一口剩下的)
交运算 sinter key… 返回所有集合的交集(返回我们都有的的)
交运算 sinterstore newkey key… 返回多个集合的交集生成集合newkey
并运算 sunion key… 返回我们不重复的所有元素 
并运算 sunion newkey key… 结果放到newkey中

zset命令

命令 解释
zadd key score member … 添加多个
zerm key memer… 移除多个
zcard key 返回所有成员
zincrby key incremnet member 将member成员的分值加上increment
zcount key min max 返回分值在 min和max中间的排名
zrank key member 返回成员member在集合中的排名
zscore key member 返回member的分值
zrange key start stop 返回介于两者之间的成员
zrevrank key-name member  返回有序集合里成员member的排名,成员按照分值从大到小排列 
zrevrange key-name start stop [withscores]  返回有序集合给定排名范围内的成员,成员按照分值从大到小排列 
zrangebyscore key min max [withscores] [limit offset count]  返回有序集合中,分值介于min和max之间的所有成员 
zrevrangebyscore key max min [withscores] [limit offset count]  获取有序集合中分值介于min和max之间的所有成员,并按照分值从大到小的顺序来返回它们 
zremrangebyrank key-name start stop  移除有序集合中排名介于start和stop之间的所有成员 
zremrangebyscore key-name min max 移除有序集合中分值介于min和max之间的所有成员
zinterstore dest-key key-count key [key ...] [weights weight[weight ...]] [aggregate sum|min|max] 对给定的有序集合执行类似于集合的交集运算
zunionstore dest-key key-count key [key ...] [weights weight[weight ...]] [aggregate sum|min|max] 对给定的有序集合执行类似于并集的运算