127.0.0.1:6379> lpush mylist hello1 hello2 hello3 #创建mylist并新增三个元素
(integer) 3
127.0.0.1:6379> lrange mylist 0 -1
1. “hello3”
2. “hello2”
3. “hello1”
127.0.0.1:6379> rpoplpush mylist mylist1 # 将mylist中最后一个元素弹出,并增加到mylist1中,如果mylist1不存在则会创建
“hello1”
127.0.0.1:6379> lrange mylist 0 -1
1. “hello3”
2. “hello2”
127.0.0.1:6379> keys *
1. “mylist”
2. “mylist1”
127.0.0.1:6379> lrange mylist1 0 -1
1. “hello1”
127.0.0.1:6379> lset mylist 0 xiec # 将下标为0的元素更新为xiec
OK
127.0.0.1:6379> lrange mylist 0 -1
1. “xiec”
2. “hello2”
127.0.0.1:6379> linsert mylist before xiec lisi # 再mylist中再元素值为xiec的前面增加一个lisi元素
(integer) 3
127.0.0.1:6379> lrange mylist 0 -1
1. “lisi”
2. “xiec”
3. “hello2”
Set集合:set和list最主要的区别和java集合类似,里面的元素无序,并且不可以重复
• sadd: 用于创建一个set类型的key-value 类型的键值对,并往里面增加一个或多个值
• smembers : 查看一个set集合中的所有元素
• sismember : 判断一个元素是否再set集合中,存在返回1,不存在返回0
• scard : 获取set集合的长度
127.0.0.1:6379> sadd myset hello word xiec
(integer) 3
127.0.0.1:6379> smembers myset
1. “xiec”
2. “word”
3. “hello”
127.0.0.1:6379> sismember myset xiec
(integer) 1
127.0.0.1:6379> scard myset
(integer) 3
• srem: 移除set集合中一个具体的元素
• srandmember : 从set 集合中随机取出一个或多个值
• spop : 随机从set集合中移除一个元素
• smove : 从一个set集合中移动一个元素到另一个set集合中,如果另一个set集合不存在则会创建
127.0.0.1:6379> flushdb #为演示先清空数据库
OK
127.0.0.1:6379> sadd myset hello word xiec happy
(integer) 4
127.0.0.1:6379> srem myset hello # 从myset中移除值为hello的元素
(integer) 1
127.0.0.1:6379> smembers myset #查看myset中的元素
1. “xiec”
2. “word”
3. “happy”
127.0.0.1:6379> srandmember myset # 从myset集合中随机取出一个值,并不会从set集合中删除
“word”
127.0.0.1:6379> smembers myset
1. “xiec”
2. “word”
3. “happy”
127.0.0.1:6379> spop myset # 从set集合中随机选取一个元素并删除
“xiec”
127.0.0.1:6379> smembers myset
1. “word”
2. “happy”
127.0.0.1:6379> smove myset myset1 word # 将myset集合中的world元素移动到myset1中myset1不存在则会创建
(integer) 1
127.0.0.1:6379> keys *
1. “myset1”
2. “myset”
127.0.0.1:6379> smembers myset1
1. “word”
• sdiff : 计算两个集合的差集
• sinter : 计算两个集合的交集
• sunion : 计算两个集合的并集
127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> sadd set1 a b c d
(integer) 4
127.0.0.1:6379> sadd set2 c d e f
(integer) 4
127.0.0.1:6379> sdiff set1 set2 # 差集,set1减去set2剩下的就是a,b
1. “b”
2. “a”
127.0.0.1:6379> sinter set1 set2 #交集,很容易理解,就是两个set集合的共同元素
1. “d”
2. “c”
127.0.0.1:6379> sunion set1 set2 #并集,就是把两个集合的所有元素
1. “f”
2. “b”
3. “e”
4. “a”
5. “d”
6. “c”
Hash:hash和String的命令很类似,可以联合记忆,hash的value是一个map集合。
====================================================================================================================
• hset :设置一个hash类型的key value
• hget : 从hash的map中取出具体key的值
• hmset : 和String类型的mset类似,这个可以批量设置map中的键值对
• hmget : 同时获取多个map中多个key的value
127.0.0.1:6379> hset myhash name xiec
(integer) 1
127.0.0.1:6379> hget myhash name
“xiec”
127.0.0.1:6379> hmset myhash age 23 sex nan
OK
127.0.0.1:6379> hmget myhash name age
1. “xiec”
2. “23”
• hgetall : 获取一个hash中的全部元素,以key-value形式展示
• hdel : 删除hash中的一个key,删除时value也会同步删除
• hlen : 获取hash中有多少个key
127.0.0.1:6379> hset myhash name xiec
(integer) 1
127.0.0.1:6379> hget myhash name
“xiec”
127.0.0.1:6379> hmset myhash age 23 sex nan
OK
127.0.0.1:6379> hmget myhash name age
1. “xiec”
2. “23”
127.0.0.1:6379> hgetall myhash
1. “name”
2. “xiec”
3. “age”
4. “23”
5. “sex”
6. “nan”
127.0.0.1:6379> hdel myhash sex
(integer) 1
127.0.0.1:6379> hgetall myhash
1. “name”
2. “xiec”
3. “age”
4. “23”
127.0.0.1:6379> hlen myhash
(integer) 2
• hexists : 判断hash中是否存在指定的key,存在返回1,不存在返回0
• hkeys : 获取hash中所有的key(只有key)
• hvals : 获取hash中多有的value(只获得所有的value)
127.0.0.1:6379> hgetall myhash
1. “name”
2. “xiec”
3. “age”
4. “23”
127.0.0.1:6379> hexists myhash name
(integer) 1
127.0.0.1:6379> hkeys myhash
1. “name”
2. “age”
127.0.0.1:6379> hvals myhash
1. “xiec”
2. “23”
• hincrby : 为hash中的某个key的value指定增加多少
• hsetnx : 只有当hash中的那个key不存在时才会设置成功
127.0.0.1:6379> hgetall myhash
1. “name”
2. “xiec”
3. “age”
4. “23”
127.0.0.1:6379> hincrby myhash age 2
(integer) 25
127.0.0.1:6379> hsetnx myhash sex nan
(integer) 1
127.0.0.1:6379> hsetnx myhash sex nv
(integer) 0
Zset集合:这个集合类型和Set集合很像,命令也大多类似,相比而言Zset多了score用来排序得字段
• zadd :可以设置一个zset类型得键值对,可以一次为zset集合添加一个或多个值
• zrange:用于查看set集合中得元素
• zrangebyscore: 通过score字段排序 -inf表示无穷小,+inf表示无穷大
127.0.0.1:6379> zadd myset 10 xiec 20 zhangs 30 lisi # 其中10,20,30表示score 字段
(integer) 3
127.0.0.1:6379> zrange myset 0 -1 # 查看set集合中全部元素
1. “xiec”
2. “zhangs”
3. “lisi”
127.0.0.1:6379> zrangebyscore myset -inf +inf # 通过score 字段从小到大排序,不展示score
1. “xiec”
2. “zhangs”
3. “lisi”
127.0.0.1:6379> zrangebyscore myset -inf +inf withscores # 加上withscores对score进行展示
1. “xiec”
2. “10”
3. “zhangs”
4. “20”
5. “lisi”
6. “30”
• zrem : 删除zset集合中得具体元素
• zcard :获取zset集合得长度
• zrevrange: 从大到小对zset进行一个排序
127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> zadd myset 10 xiec 20 zhangs 30 lisi
(integer) 3
127.0.0.1:6379> zrange myset 0 -1
1. “xiec”
2. “zhangs”
3. “lisi”
127.0.0.1:6379> zrem myset lisi # 删除zset集合中值为lisi得元素
(integer) 1
127.0.0.1:6379> zrange myset 0 -1
1. “xiec”
2. “zhangs”
127.0.0.1:6379> zcard myset #查看zset集合中的长度
(integer) 2
127.0.0.1:6379> zrevrange myset +inf -inf # 要注意的是 这里从大到小不能用 +inf和-inf
(error) ERR value is not an integer or out of range
127.0.0.1:6379> zrevrange myset 40 -inf
(error) ERR value is not an integer or out of range
127.0.0.1:6379> zrevrange myset 0 -1 # 用0到-1进行表示
1. “zhangs”
2. “xiec”
127.0.0.1:6379> zrevrange myset 0 -1 withscores
1. “zhangs”
2. “20”
3. “xiec”
4. “10”
redis五种常用类型介绍到此,下篇会对geospatial,hyperloglog,bitmap,常用命令和使用进行简单介绍
JedisCluster java 获取所有相似的key
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
java根据表名称获取所有字段
java根据表名称获取所有字段
字段 java sql -
微服务中 其他服务怎么获取到用户信息
前言 为了让老项目加入新的云服务中,可能要进行一些改造,老项目无需加入Security就可以简单的使用权限系统准备工作 首先要拥有一个完整的基于NACOS的微服务框架和一个Springboot老项目 微服务框架使用了Security,并支
微服务中 其他服务怎么获取到用户信息 java 微服务 开发语言 权限系统