redis 笔记 数据类型

redis 支持五种数据类型:string hash list set zset 

1 string 字符串 一个key对应一个value 二进制安全的,可以包含任何数据如图片或者序列化的对象,最大能存储 512MB

set name 'runoob' 键为 name 值为 runoob

get name

2 hash 哈希 是一个键值对集合key-value,是一个string类型的field 和value的映射表,适合用于存储对象。每个hash可以存储40多亿键值

del name 用于删除用过的key

hmset runoob field1 'a' field2 'b' field3 'c' 设置值

hget runoob field3  获取field 对应的值

3 list 列表 是简单的字符串列表,按照插入顺序排序,可以添加一个元素到列表的头部左边或者尾部 右边,每个列表可存储40多亿元素

del runoob

lpush runoob redis

lpush runoob mongodb

lrange runoob 0 10

4 set 集合 string类型的无序集合。集合是通过哈希表实现的,所以添加、删除、查找的复杂度都是O(1)

添加一个string元素到key 对应的set集合中,成功返回1,如果元素已经在集合中返回0,如果key对应的set不存在则返回错误

每个集合可存储40多亿个成员,不允许重复的成员

del runoob

sadd runoob redis

sadd runoob mongodb

smembers runoob

5 zset 有序集合 string类型元素的集合,且不允许重复的成员,每个元素都会关联一个double类型的分数,用来为集合中的成员从小到大的排序,

zset成员是唯一的,但分数却可以重复

元素在集合中存在则更新对应的score分数值

del runoob

zadd runoob 0 mongodb

zadd runoob 0 rabitmq

zrangebyscore runoob 0 1000

 redis 支持多个数据库,并且每个数据库的数据是隔离的不能共享,并且基于单机才有,如果是集群就没有数据库的概念

是一个字典结构的存储服务器,一个redis实例提供了多个用来存储数据的字典,客户端可以指定将数据存储在哪个字典中。

可以将其中的每个字典都理解成一个独立的数据库

每个数据库对外都是一个从0开始的递增数字命名,客户端与redis建立连接后会自动选择0号数据库,可以随时使用select 命令更换数据库 

select 1 

flushall 命令可以清空一个redis实例中所有数据库中的数据。

一个空redis实例占用的内存只有1M左右

原文地址:https://www.cnblogs.com/caojuansh/p/11271423.html