Redis(四)--- Redis的命令参考

  • 作者: 凯哥Java(公众号:凯哥Java)
  • Redis
  • 时间:2021-08-11 08:45
  • 3048人已阅读
简介 1、简述 数据类型也称数据对象,包含字符串对象(string)、列表对象(list)、哈希对象(hash)、集合对象(set)、有序集合对象(zset)。2、String数据类型命令string 类型是redis最基础的数据类型,为简单key-value结构,并且value不限制类型,可以是数字,字符,图片等序列化对象,value值最大不可超过512M。string类型在使用中

🔔🔔好消息!好消息!🔔🔔

 如果您需要注册ChatGPT,想要升级ChatGPT4。凯哥可以代注册ChatGPT账号代升级ChatGPT4

有需要的朋友👉:微信号 kaigejava2022

1、简述

 数据类型也称数据对象,包含字符串对象(string)、列表对象(list)、哈希对象(hash)、集合对象(set)、有序集合对象(zset)。

2、String数据类型命令

string 类型是redis最基础的数据类型,为简单key-value结构,并且value不限制类型,可以是数字,字符,图片等序列化对象,value值最大不可超过512M。

string类型在使用中经常用作分布式session共享,计数器,验证码过期,基础数据的缓存等。

在java编码中使用都是使用封装好的jar包,如spring redis,jedis等等,当封装的方法名称与命令行直接操作大同小异,下面展示命令行使用:

5c651a1b90006bde0c1d35bf2c96f394.png

 f96a746748a5995d19735bf3e02207f8.png

 :redis的命令无大小写区分,但key值严格区分大小写

参数:


    • EX seconds ---- 设置过期时间为秒,例:EX 60

    • PX milliseconds ---- 设置过期时间为毫秒,例:PX 1000

    • NX ---- 只有当key值不存在时才设置

    • XX ---- 只有当key值存在时才设置

 

3、list数据类型命令

list数据类型为key-value键值对结构,但是其value值的结构为list,类似java中的队列;左侧为表头,右侧为表尾;结构类似于java的Map<String,List<Object>>

list数据类型可以作为消息队列使用,还可以作为排名等的缓存,也可以作为缓存分页。 

aedd9f506940e84ee6dc56fb368d34e7.png

15c2fdd18b921a0903f8d3b190646f23.png

 4、hash数据类型

hash表数据类型是key-value结构,但是key为String类型,而value的结构则是field-value结构;类似于java中的Map<Sring,Map<Stirng,Object>> 结构。

hash表数据结构中field-value 的最大存储个数是 232 - 1 个;主要用途是作为key-value对象类型的缓存,在value中存储这个对象,取用时便于还原对象。

ef63cd14e41ad8cf2d8e07f869f69d65.png

7589d39d3dccf2fd2f8f53f45068cc57.png

 5、set数据类型

set数据类型为无序集合数据类型,且数据不重复;

集合类型经常用户存储一些集合类型的数据,如微博的所有粉丝,标签等数据;结构类似java中的HashSet。

603629ae1fc9e4adc1b3023f01668366.png

eb4ed146dee4a02361b30f95fa5cbcdc.png

 6、zset数据类型

 zset数据类型为有序集合类型,且集合内元素不重复;

有集合通常被用作排行榜等有时间顺序或其他顺序的缓存集和;类似于java中的hashTable

cc53028f5ed580a3f5d9a761e26cdfb2.png

53f7d3f57d3fa59046f95fe27e77e9d6.png

7、redis 操作相关命令

 redis除了对五大数据类型的操作命令,还有一些系统命令,可以对这个数据库进行操作,如删除key,清空数据库,手动持久化等。

1694ea7fe458783cd7be254938b42f9b.png

065f02fc0c62d86402d49819f20e87f0.png


 注:redis内部命令还有很多,有些维护之类的命令再次不做介绍,如果用到,请参考redis官网。

8、总结

Redis的命令大体上可以分为两种,一种可以称为数据库级命令,可以对任何键值操作,如:DEL、TYPE等,第7节说到的基本都是;另一种是针对五大数据类型操作的,以上几节说道的基本都是。

(1)命令类型检查

命令的执行之前,Reddis会先检查输入的key的类型是否正确,才会决定是否执行给定的命令,也就是命令与值类型是否匹配。

e375eb8a2dba6e983e980688ca67fd13.png

(2)多态命令

如前一章说过四种数据对象每种都有两种编码方式,但在本章使用的命令确是一个;Redis在执行命令之前,会判断对象的编码方式,然后再执行对应的命令,这就是命令的多状态。

46d15c470c3da07ee9c5839c1b9af9a6.png

 

参考:

《Redis设计与实现》黄健宏著,网上对Redis的详解等  

此博客为笔者使用redis很久之后,参考网络上各类文章总结性书写,原创手打,如有错误欢迎指正。




来源:https://www.cnblogs.com/MouseDong/p/11133859.html

TopTop