View on GitHub

学习仓库

2. 数据结构和命令

2.1 数据结构

key一般是string类型,value有许多类型。

value类型

数据类型

key的层级格式

redis的key允许多个单词形成层级结构,多个单词之间用:隔开。在图形化工具上会显示应有的表现形式。

key的层级格式

2.2 通用命令

通用命令文档

常用通用命令

  1. KEYS pattern:查看符合模板的所有key,模糊查询效率低,不建议在生产环境使用。如keys *
  2. DEL key:删除key。如del a1
  3. EXISTS key:判断key是否存在。如exists b1
  4. EXPIRE key seconds:给key设置有效期,到期redis会自动删除。如expire c1 10
  5. TTL(time to live) key:查看一个key的剩余有效期。返回-2表示到期,返回-1表示永久有效。如ttl k1

2.3 常用数据类型和命令

2.3.1 string类型

string(字符串)类型,是redis中最简单的存储类型。虽然value是字符串,但根据字符串格式不同,又可分3类:

string类型

不管是哪种数据类型,底层都是字节数组存储,只不过编码方式不同。数字会转换成二进制去存储,这样一个字节就可以表示很大的数字了,节省空间。字符串就只能转换成对应的字节码存储。

string常用命令

2.3.2 hash类型

hash类型,也叫散列,value是一个无序字典。

hash类型

hash常用命令

2.3.3 list类型

list类型,可以看做是一个双向链表,支持正向和反向检索,常用来存储一个有序数据。特点如下:

list类型

list常用命令

2.3.4 set类型

set类型,是一个hash表。特点如下:

set常用命令

2.3.5 sortedset类型(zset)

sortedset类型是一个可排序的set,其中的每一个元素都带有score属性,可以基于score属性对元素排序,常被用来实现排行榜这样的功能。特点如下:

sortedset常用命令

所有的排名默认都是升序,如果要降序则在命令的Z后面添加REV即可。