学习笔记_Redis 数据类型02

一:String(字符串)

1、该类型时二进制安全的。意思是可以包含任何数据,如jpg图片或者序列化对象。
2、是Redis最基本的数据类型,string类型的值最大能存储512MB
 
实例:
插入:
192.168.0.104:0>set age 78
"OK"

查询:

192.168.0.104:0>get age 
"78"
在上面实例中我们使用了Redis的 Set 和 Get 命令,键为 :age  值为:78
注意:一个建最大能存储512M

二:Hash(哈希)

1、是一个键值对集合
2、是一个string类型的field 和 value 的映射表 ,hash 适合存储对象。
 
实例:
插入:
192.168.0.104:0>HMSET student name "张三" age "100"
"OK"

查询name:

192.168.0.104:0>HMGET student name 
 1)  "张三"
上面实例中我们使用了Redis中得HMSET 、HMGET 命令,HMSET 设置了两个key->value对,HMGET 获取对应Field对应的value.
注意:插入值得时候需要用引号括起来
 

三、List(列表)

Redis列表是最简单的字符串列表,按照插入顺序排序。可以添加一元素到列表的头部(左边) 或者尾部(右边)

实例:

插入数据:

192.168.0.104:0>LPUSH name 渣男
"1"

192.168.0.104:0>LPUSH name 渣女
"2"

192.168.0.104:0>LPUSH name 渣男女

获取数据:

192.168.0.104:0>Lrange name 0 10 
 1)  "渣男女"
 2)  "渣女"
 3)  "渣男"

效果:

 

列表最多可存储 232 - 1 元素 (4294967295, 每个列表可存储40多亿)。

四、Set(集合)

1、是String类型的无序集合;

2、集合通过哈希表实现,添加、删除、查询的复杂度都是O(1);

实例:

插入数据:

192.168.0.104:0>Sadd score 100分 
"1"

192.168.0.104:0>Sadd score 200分
"1"

192.168.0.104:0>Sadd score 300分
"1"

192.168.0.104:0>Sadd score 100分
"0"

注意:值相同时无法插入,因为集合内的元素是唯一的,第二次插入元素被忽略。

集合的最大成员数为 232 - 1(4294967295, 每个集合可存储40多亿个成员)。

获取数据: 

192.168.0.104:0>Smembers score 
 1)  "300分"
 2)  "200分"
 3)  "100分"

效果:

以上操作使用的是sadd命令和smembers命令,sadd命令添加一个string元素到key对应的set集合中,成功返回1.如果元素已经在集合中存在,则返回0.

五、zset(sorted set:有序集合)

1、zset和set一样也是string类型元素的集合,且不允许重复的成员。

2、不同的是每个元素都会关联一个double类型的分数。redis可以通过分数来为集合中成员进行从小到大的排序。

3、zset中的成员是唯一的,但是分数score是可以重复的。

实例:

插入数据:

192.168.0.104:0>zadd myzadd 10 v1 20 v2 30 v3
"3"

192.168.0.104:0>zadd myzadd 40 v1
"0"

192.168.0.104:0>zadd myzdd 30 v4

查询数据:

192.168.0.104:0>zrange myzadd 0 3
 1)  "v2"
 2)  "v3"
 3)  "v1"

效果:

 各个类型的应用场景:

String: 

简介:二进制安全

特性:可以包含任何数据,比如jpg图片或者序列化的对象,一个键最大能存储512M

Hash(字典):

简介:键值对集合,即编程语言中的Map类型

特性:适合存储对象,并且可以像数据库中update一个属性一样只修改某一项属性值(Memcached中需要取出整个字符串反序列化成对象修改完再序列化存回去)

场景:存储、读取、修改用户属性

List(列表):

简介:链表(双向链表)

特性:增删快,提供了操作某一段元素的API

场景:1,最新消息排行等功能(比如朋友圈的时间线) 2,消息队列

Set(集合):

简介:哈希表实现,元素不重复

特性:1、添加、删除,查找的复杂度都是O(1) 2、为集合提供了求交集、并集、差集等操作

场景:1、共同好友 2、利用唯一性,统计访问网站的所有独立ip 3、好友推荐时,根据tag求交集,大于某个阈值就可以推荐

Sorted Set(有序集合):

简介:将Set中的元素增加一个权重参数score,元素按score有序排列

特性:数据插入集合时,已经进行天然排序

场景:1、排行榜 2、带权重的消息队列

 
 
原文地址:https://www.cnblogs.com/Learnall/p/14348413.html