redis的五大数据类型
一、Redis数据类型
Redis支持五种数据类型: string (字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)
二、String (字符串)
2.1、介绍
- string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。
- string类型是二进制安全的。redis的string 可以包含任何数据。比如jpg图片或者序列化的对象。
- string 类型是Redis最基本的数据类型,string 类型的值最大能存储512MB。
■ set key values 添加键值对
■ get key 查询键值对的值
20.0.0.25:6379> set name zhangsan ## 添加键值对
OK
20.0.0.25:6379> get name ## 通过键查询值
"zhangsan"
三、Hash(哈希字典)
3.1、介绍
- Redis hash是一个键值(key=>value)对集合。
- Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。
- 每个hash可以存储2的32次方-1键值对。
3.2、作用场景
- 健值对集合,即编程语言中的Map类型
- 适合存储对象,并且可以像数据库中update一个属性一样只修改某一项属性值
20.0.0.25:6379> hmset stu name lisi age 18 sex 男 ## stu 作为对象名 把三个key-value去存储
OK
20.0.0.25:6379> keys *
1) "stu" ## 所以这里只显示 stu 对象名
20.0.0.25:6379> hget stu name
"lisi"
20.0.0.25:6379> hget stu age
"18"
## 这里我们会看见如果输入中文的值查询时不会出现中文字符,解决办法如下
20.0.0.25:6379> hget stu sex
"\xe7\x94\xb7"
20.0.0.25:6379> type stu ## 查看stu 类型,hash 类型
hash
解决办法:
[root@localhost ~]# redis-cli -h 20.0.0.25 -p 6379 --raw ## 登录时在后面加上 --raw
192.168.195.180:6379> hget stu sex
男
四、List(列表)
4.1、介绍
- Redis列表是简单的字符串列表,按照插入顺序排序,可以重复。可以添加一个元素到列表的头部(左边)或者尾部(右边)
- 列表最多可存储2的32次方 -1 元素。(是 减号)
4.2、作用场景
- 增删快,提供了操作某一段元素的API。
- 最新消息排行等功能(比如朋友圈的时间线)
- 消息队列
如果存储不进去返回 0,存储进去返回 非0
20.0.0.25:6379> lpush hobby play ## 第一个值输出1
(integer) 1
20.0.0.25:6379> lpush hobby read ## 第一个值输出2
(integer)