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
- Redis String、List、Set、Hash、ZSet常用命令
- redis key,string,hash,list,set,zset指令汇总
- Redis-Service.Stack.Redis对Redis基本数据类型String,List,Hash,Set,ZSet的操作
- Set/ZSet/Hash/List
- 分布式内存数据库---Redis操作String、list、set、hash和Zset
- redis 五种数据结构详解(string,list,set,zset,hash)
- redis操作以及5种数据类型string,hash,list,set,zset
- REDIS数据类型详解LIST-HASH-SET-STRING
- redis类型[string 、list 、 set 、sorted set 、hash]
- redis类型[string 、list 、 set 、sorted set 、hash]
- redis类型[string 、list 、 set 、sorted set 、hash]
- redis类型讲解[string, list, set, sorted set, hash]
- redis类型[string 、list 、 set 、sorted set 、hash]
- redis类型[string 、list 、 set 、sorted set 、hash]
- Redis基本数据结构总结之SET、ZSET和HASH
- Redis常用命令-Zset
- .Net Core下 Redis的String Hash List Set和Sorted Set的例子
- redis set zset 的具体操作
- Android AsyncTask源码简要分析
- 设备树学习之(九)SPI设备注册过程
- php5.4+ CI框架中无法写日志
- git搭建局域网服务器
- 如何用github+hexo搭建个人博客
- Redis String、List、Set、Hash、ZSet常用命令
- HDU3555 Bomb 数位DP经典题
- vue 动画过渡
- 算法提高 输入输出格式练习
- 在Eclipse中显示.project和.classpath和.setting目录
- SPOJ_LEXSTR:Lexicographically_Smallest(并查集)
- 模拟Spring的AOP
- HDU Moving Tables
- 趣味百题之逻辑推理