(一)redis支持五种数据类型
redis当中一共支持五种数据类型,分别是:
-
string字符串
-
list列表
-
set集合
-
hash表
-
zset有序集合
首先连接redis,发送ping,回送pong,即为连接成功;
(二)String操作:
最基本的数据类型,二进制安全;
-
SET key value 设置指定 key 的值;
如图 set name “redis”,即为设置键为redis,值为redis的数据;
-
GET key 获取指定 key 的值
如下,get name即为获得键位name的数据的值;
-
GETSET key value 将给定 key 的值设为 value ,并返回 key 的旧值(old value);
如图:返回redis旧值;
-
INCR key 将 key 中储存的数字值增一
如图:
-
decr key将 key 中储存的数字值减一
-
mset key value key value1 key2 value2一次性操作多组数据
-
mget key key1 key2一次性操作多组数据
(三)Hash操作:
Redis hash 是一个 string 类型的 field(字段) 和 value(值) 的映射表,hash 特别适合用于存储对象,
-
设置值 获取值hmset key field1 value1 field2 value2:
-
hget获取属性值:
-
hset修改属性值
-
hvals key获取哈希表中所有值
(四)list操作:
Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边):
- lpush插入元素:
- lrange取出元素:
- llen key获取列表长度
(五)set操作
Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据,集合对象的编码可以是 intset 或者 hashtable。
Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)
- sadd增加元素:
- semembers获取元素:
重复插入会去重:
(六)Zset操作:
Redis 有序集合和集合一样也是 string 类型元素的集合,且不允许重复的成员,不同的是每个元素都会关联一个 double 类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序,有序集合的成员是唯一的,但分数(score)却可以重复。
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)
- zadd添加数据
- zrangebyscore按权重排序:
(七)Bitmaps结构的操作:
-
计算机最小的存储单位是位bit,Bitmaps是针对位的操作的,相较于String、Hash、Set等存储方式更加节省空间
-
Bitmaps不是一种数据结构,操作是基于String结构的,一个String最大可以存储512M,那么一个Bitmaps则可以设置2^32个位
-
Bitmaps单独提供了一套命令,所以在Redis中使用Bitmaps和使用字符串的方法不太相同。可以把Bitmaps想象成一个以位为单位的数组,数组的每个单元只能存储0和1,数组的下标在Bitmaps中叫做偏移量offset
(八)HyperLogLog结构的操作
- HyperLogLog常用于大数据量的统计,比如页面访问量统计或者用户访问量统计。
- Redis HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,
- 在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定的、并且是很小的。
- 在 Redis 里面,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基数。这和计算基数时,元素越多耗费内存就越多的集合形成鲜明对比。
- 但是,因为 HyperLogLog 只会根据输入元素来计算基数,而不会储存输入元素本身,所以 HyperLogLog 不能像集合那样,返回输入的各个元素。
更多相关内容参考:redis数据操作/菜鸟教程