👨🎓作者:Java学术趴 🏦仓库:Github、Gitee ✏️博客:CSDN、掘金、InfoQ、云+社区 💌公众号:Java学术趴 🚫特别声明:原创不易,未经授权不得转载或抄袭,如需转载可联系小编授权。 🙏版权声明:文章里的部分文字或者图片来自于互联网以及百度百科,如有侵权请尽快联系小编。
☠️每日毒鸡汤:这个社会是存在不公平的,不要抱怨,因为没有用!人总是在反省中进步的!
EX : 当数据库中的 key 不存在时,可以将 key-value 添加数据库。
XX : 当数据库中 key 存在时,可以将 key-value 添加数据库,与NX参数互斥。
EX : key 的超时秒数。
PX : key 的超时毫秒值,与 EX 互斥。
注意:以下四个命令只会对数字值进行生效。
列表存储数据的模式:单键多值
List的数据结构为快速链表 quickList
举个列子:
用户ID为查找的key,存储的value用户对象包含姓名、年龄、生日等信息,如果用普通的 key/value 结构来存储。
Hash主要存在以下三种方式:
第一种:JSON对象
user : {id=1,name=张三,age=20}
复制代码
注意:这种是以JSON字符串的方式存储,在修改的时候需要获取全部的值然后进行修改。
第二种:对象
user : id 1
user : name 张三
user : age 20
复制代码
注意:这种存储形式虽然说修改属性值的时候方便,但是会造成大量的数据存储。
第三种:Hash
通过key(用户ID) + field(属性标签)就可以操作对应属性数据了,既不需要重复存储数据,也不会带来序列化和并发修改控制问题。
案列:使用 zset 实现一个文章访问量的排序?
zset 底层使用了两个数据结构:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。