Java最新Redis常用命令总结(1),真牛

总结

如果你选择了IT行业并坚定的走下去,这个方向肯定是没有一丝问题的,这是个高薪行业,但是高薪是凭自己的努力学习获取来的,这次我把P8大佬用过的一些学习笔记(pdf)都整理在本文中了

《Java中高级核心知识全面解析》

小米商场项目实战,别再担心面试没有实战项目:

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

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,常用命令和使用进行简单介绍,喜欢的可以进行关注

最后

一次偶然,从朋友那里得到一份“java高分面试指南”,里面涵盖了25个分类的面试题以及详细的解析:JavaOOP、Java集合/泛型、Java中的IO与NIO、Java反射、Java序列化、Java注解、多线程&并发、JVM、Mysql、Redis、Memcached、MongoDB、Spring、Spring Boot、Spring Cloud、RabbitMQ、Dubbo 、MyBatis 、ZooKeeper 、数据结构、算法、Elasticsearch 、Kafka 、微服务、Linux。

这不,马上就要到招聘季了,很多朋友又开始准备“金三银四”的春招啦,那我想这份“java高分面试指南”应该起到不小的作用,所以今天想给大家分享一下。

image

请注意:关于这份“java高分面试指南”,每一个方向专题(25个)的题目这里几乎都会列举,在不看答案的情况下,大家可以自行测试一下水平 且由于篇幅原因,这边无法展示所有完整的答案解析

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

ysql、Redis、Memcached、MongoDB、Spring、Spring Boot、Spring Cloud、RabbitMQ、Dubbo 、MyBatis 、ZooKeeper 、数据结构、算法、Elasticsearch 、Kafka 、微服务、Linux。

这不,马上就要到招聘季了,很多朋友又开始准备“金三银四”的春招啦,那我想这份“java高分面试指南”应该起到不小的作用,所以今天想给大家分享一下。

[外链图片转存中…(img-ty0yN8cJ-1715411174619)]

请注意:关于这份“java高分面试指南”,每一个方向专题(25个)的题目这里几乎都会列举,在不看答案的情况下,大家可以自行测试一下水平 且由于篇幅原因,这边无法展示所有完整的答案解析

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>