Redis's data type
字符串String
基本的数据存储单元,可以存储字符串、整数或者浮点数
string类型是二进制安全的。redis的string可以包含任何数据,比如jpg图片或者序列化的对象
string类型是redis最基本的数据类型,string类型的值最大能存储512mb
string常用命令
- SET key value:设置键的值
- GET key:获取键的值
- INCR key:将键的值加1
- DECR key:将键的值减1
- APPEND key value:将值追加到键的值之后
哈希hash
一个键值对集合,可以存储多个字段
redis hash是一个键值对集合,类似于一个小型的noSQL数据库
redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象
每个哈希最多可以存储2^32-1个键值对
hash常用命令
- HSET key field value:设置哈希表中字段的值
- HGET key field:获取哈希表中字段的值
- HGETALL key:获取哈希表中所有字段和值
- HDEL key field:删除哈希表中的一个或多个字段
列表list
一个简单的列表,可以存储一系列的字符串元素
redis列表是最简单的字符串列表,按照插入顺序排序
列表最多可以存储2^32-1个元素
list常用命令
- LPUSH key value:将值插入到列表头部
- RPUSH key value:将值插入到列表尾部
- LPOP key:移出并获取列表的第一个元素
- RPOP key:移出并获取列表的最后一个元素
- LRANGE key start stop:获取列表在指定范围(start-stop)内的元素
集合set
一个无序集合,可以存储不重复的字符串元素
redis的set是string类型的无序集合
集合是通过哈希表实现的,所以添加、删除、查找的复杂度都是O(1)
set常用命令
- SADD key value:向集合添加一个或多个成员
- SREM key value:移除集合中的一个或多个成员
- SMEMBERS key:返回集合中的所有成员
- SISMEMBER key value:判断是否是集合的成员
有序集合sorted set
类似于集合,但是每个元素都有一个分数score与之关联
redis zset和set一样也是string类型元素的集合,且不允许重复的成员
不同的是每个元素都会关联一个double类型的分数,redis正是通过分数来为集合中的成员进行从小到大的排序
zset的成员是唯一的,但分数却可以重复
sorted zset常用命令
- ZADD key score value:向有序集合添加一个或多个成员,或更新已存在成员的分数
- ZRANGE key start stop [WITHSCORES]:返回指定范围内的成员
- ZREM key value:移除有序集合中的一个或多个成员
- ZSCORE key value:返回有序集合中,成员的分数值
位图 Bitmaps
基于字符串类型,可以对每个位进行操作
位数组,可以对字符串进行位操作
常用于实现布隆过滤器等位操作
超日志 HyperLogLogs
用于基数统计,可以估算集合中的唯一元素数量
地理空间Geospatial
用于存储地理位置信息
支持地理空间索引和半径查询
发布/订阅Pub/Sub
一种消息通信模式,允许客户端订阅消息通道,并接收发布到该通道的消息
流Streams
用于消息队列和日志存储,支持消息的持久化和时间排序
模块Modules
redis支持动态加载模块,可以拓展redis的功能
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 JasmineRain's blog!
评论
