Redis String、List、Set、Hash、ZSet常用命令

来源:互联网 发布:福利软件 编辑:程序博客网 时间:2024/05/16 08:03

Redis 字符串(String)常用命令:

语法:
//Reids 基本命令
set key value.给某个key赋值
get key value.获取某个key的值
del key 删除某个key
append key value 给某个key添加值(在key最后追加)
strlen key 获取key的长度

//Redis 截取和替换
getrange key start end获取从起始到结束位置的值(类似java substring)
setrange key start end替换从起始到结束位置的值(类似java replace)

//Reids 逻辑运算
//一定要是数字才能+和- 否则报错
incr key +1(类似java ++)
decr key -1(类似java --)

setex key seconds value给某个key设置有效时间
setnx key value给某个值赋值(如果不存在赋值,赋值忽略。成功:1,失败:0)
mset key1 value1 key2 value2...给多个key赋值
mget key1 key2...获取多个Key的值
msetnx key1 value1 key2 value2... 给多个key赋值
getset(先get在set) key value2



Redis列表(list) 常用命令:

性能总结:
他是一个字符串链表,left、right都可以插入添加;
如果间不存在,创建新的链表;
如果值已存在,新增加内容;
如果值全移除,对应的键也就消失了。
链表的操作无论是头和尾效率都极高,但假如是对中间元素进行操作,效率就很低。

语法:
//list 赋值
lpush key value [value ...]//从栈顶往下压值
EX: lpush list 1 2 3 4 5//lpush命令:数据在内存是 5 4 3 2 1

rpush key value [value ...]//从栈底网上压值
EX: rpush list 1 2 3 4 5//rpush命令:数据在内存是 1 2 3 4 5

//list范围查询
lrange key start stop

//list 出栈
lpop key //从栈顶弹出值

rpop key //从栈底弹出值

//获取索引为多少的值
lindex key index(索引值)
EX:lindex list 3

//获取key的大小
llen key
EX:llen list

//删除多个 value相同的值
lrem key count value
EX:lrem list 2 java

//截取list置顶范围的值后再赋值给key
ltrim key start stop
EX:ltrim list 0 3

//  源列表 目的列表
rpoplpush source destination
EX:rpoplpush list list1

//修改下标为几的值
lset key index value
EX:lset list 2 xxxooo

//在哪个元素前添加值
linsert key before|after pivot value
EX:linsert list before x java


Redis集合(set) 常用命令:

set集合去重复数据。
语法:
//添加 set 集合()
sadd key member [member ...]
EX:sadd set 1 1 2 2 3 3

//迭代set集合元素。(显示set几个元素)
smembers key
EX:smembers set

//判断key 是不是member的成员.
//返回值:
// 如果 member 元素是集合的成员,返回 1 。
// 如果 member 元素不是集合的成员,或 key 不存在,返回 0 。
sismember key member
EX:sismember set java

//判断set集合的大小
scard key

//删除set集合一个或多个元素
srem key member [member ...]
EX:srem set java spring

//随机获取Set集合中几个元素
srandmember key [count]
EX:srandmember set 3//随机获取set集合中3个元素

//set集合随机出栈
spop key
EX:spop set 

//把源数据set member 移动到目标数据set中
smove source destination member
EX:smove set set1 java

//差集.
//数据是在第一个set里面(展示的是和后面set不同的数据),而不是在后面任何一个set里面的项
sdiff key [key...]
EX:sdiff set set1

//交集
//显示的数据是两个集合相同部分的数据
sinter key [key...]
EX:sinter set set1

//并集
//显示的数据是两个集合中所有数据并且去重
sunion key [key...]
EX:sumion set set1


Redis哈希(Hash) 常用命令:

hash 是KV模式不变,但v是一个键值对

语法:
//添加key为user 字段id value为001
hset key field value
EX:hset user id 001

//获取Key为user 字段为id的值 
hget key field
EX:hget user id

//添加key为user 多个value
hmset key field value [field value...]
EX:hmset user id 002 name xs

//获取所有hash key为user 的所有值
hmgetall user
EX:hmget user

//删除hash key为user 的值
hdel user field [field...]
EX:hdel user id name

//获取hash 的大小
hlen key

//判断key 是不是hash的成员.
//返回值:
//如果 hash 元素是集合的成员,返回 1 。
//如果 hash 元素不是集合的成员,或 key 不存在,返回 0 。
hexists key field
EX:hexists user id

//获取hash 所有的keys
hkeys key

//获取hash 所有的values
hvals key

//递增 hash key 的值(针对整数) 
hincrby key filed increment
EX:hincrby user age 1

//递增 hash key 的值(针对浮点数) 
hincrbyfloat key filed increment
EX:hincrbyfloat user score 1

//判断hash key 的键值对是否存在  如果存在返回0,不存在返回1
hsetnx key field value
EX:hsetnx user email aaa@11.com


Redis有序集合Zset(sorted set) 常用命令:

语法:
//添加多个set
zadd key score member [score member ...]
EX:zadd zset 60 v1 70 v2 80 v3 90 v4 100 v5

//获取所有zset的key 或者 key、scores
zrange zset start stop [WITHSCORES]
EX:zrange zset 0 -1//显示ZSET的key
EX:zrange zset 0 -1WITHSCORES //显示ZSET的key 和 scores

//withscores 并且显示 score分数
//( 不包含
//limit 作用是返回限制(类似分页)
zrangebyscore key min max [WITHSCORES] [LIMIT offset count]
EX:zrangebyscore zset 60 90//查询zset 的score大于等于60并且小于等于90
EX:zrangebyscore zset (60 (90//查询zset 的score大于60并且小于90
EX:zrangebyscore zset 60 90 limit 2 2//查询zset 的score大于等于60并且小于等于90并且从下标2开始 显示两个数据

//删除zset key 某个score对应的一个或多个的member
zrem key member [member ...]
EX:zrem zset v4 v5

//查看zset 的大小
zcard key

//查看统计 zset 为 key 并且只为min 和 max的大小有多少个
zcount key min max
EX:zcount zset 60 80

//获取zset key 的下标值
zrank key member
EX:zrank zset v4

//获取zset key 的分数值
zscore key member
EX:zscore zset v4

//倒序排列zset score 值
zrevrank key values
EX:zrevrank zset v1

//获取排序score的值所有值
zrevrange key start stop [WITHSCORES]
EX:zrevrange zset 0 -1

0 0
原创粉丝点击