名词定义:
key
:想在redis中创建任意数据都必须有一个名字,可以通过这个名字来操作这个数据,这篇说明里,这个名字被称为key
字符串 Strings
var key = 'abcd'
var key = 2
类似js中的字符串变量,一个key对应一个字符串,比较简单,如果想存复杂点的数据,可以转为JSON格式后传入
同时它也可以传入整数,然后可以对它做加减,所以它也可以是一个计数器
列表 Lists
var key = ['value1','value2','value3']
类似js中的数组,它每一个元素的键值称为值(value),有下标的概念,可以通过下标获取值,相当于js操作:key[2]
。我以前使用它做过消息队列,但等redis5.0出来之后,可以使用Stream
来做消息队列,参考:Redis5.0新特性Stream尝鲜。
集合(无序) Sets
var key = {
'member1':null,
'member2':null
}
类似js中的对象,它每一个元素的键值称为成员(member),键值是没有的,这里只是为了符合js对象的写法才设为null。它并不会按照任何顺序排列里面的成员,所以无法通过指定下标(如key[1]
)的方法获取指定位置的值。
它没有键值似乎看起来没什么用途,但是有的情况下还是有用的,如:存储白名单/黑名单,这时候只需要知道字符串是否在集合里,就知道它在不在白名单/黑名单了。还能用来存储每天登录的用户uid,此时key中包含当天的时间。
ps. member 也可以设为数字,此时依然是作为字符串来使用,所以不推荐用数字
有序集合 Sorted Sets
- 有时英文也叫Ordered Sets
var key = {
'member3':1
'member8':5,
'member2':5,
'member1':10005
}
它每一个元素的键值也称为成员(member),键值称为分数(score)。它的排序就是根据这个分数来,允许相同分数,会采用字典序(Lexicographical)排列相同分数的成员,字典顺序排序用的是二进制,它比较的是字符串的字节数组。
- ps. member 也可以设为数字,此时依然是作为字符串来使用,所以不推荐用数字
- ps. score 只能为数字,如果是无法转为数字的字符串,会失败
哈希集 Hashes
- 有时也翻译成 “哈希”
var key = {
'field1':'hahaha'
'field3':5,
'field2':5,
'field4':10005
}
它每一个元素的键值称为字段(field),键值称为值(value)。它可以看作是字符串类型的集合。
Stream
5.0新增类型,可用作消息队列,暂时未研究,参考:Redis5.0新特性Stream尝鲜
我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/dev...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。