
Redis 五大数据类型
发布日期:2021-05-10 10:39:05
浏览次数:19
分类:精选文章
本文共 1969 字,大约阅读时间需要 6 分钟。
最近开始学习Redis,一种基于内存的_noSQL数据库,支持持久化存储(RDB、AOF),适用于高速缓存场景。这分为16个数据库,编号从0到15,集成简单的数据库切换命令,可用flushdb清空当前数据库。
一、字符串类型(String)
字符串类型是Redis最基本的数据存储类型,适用于存储序列化后的对象、图片或二进制数据,最大存储空间可达512MB。操作命令包括:
set key value
:创建或更新字符串值。append key value
:向字符串末尾追加新值。keys *
:列出数据库中所有键。exist key
:判断特定键是否存在。strlen key
:获取字符串长度。incr/decr key
:对字符串键值执行增减操作。incrby/decrby key number
:对字符串键值执行增减指定量操作。getrange key start end
:按[start, end]区间截取字符串子串。setex key duration value
:设置带有生存时间的字符串。setnx key value
:只当键不存在时才设置字符串值。mset/mget
:支持批量操作的set/get命令,可用msetnx
。
通过以上操作,可以轻松创建计数器或统计多单位数据如点击量。
二、列表类型(List)
列表是一种链表结构,支持重复元素,可充当栈或队列,结构类似双向链表。常用命令包括:
lpush list value
:向列表头部添加元素。lrange list start end
:遍历指定范围内的列表元素。lpop list
:从列表头部取出元素。rpush list value
:向列表尾部添加元素。lindex list index
:通过下标获取列表中元素。lrem list value count
:移除列表中指定次数的指定值。ltrim list start end
:清除列表两端超出指定范围的元素。rpoplpush list new_list
:将源列表最后一个元素移动至新列表。lset list index value
:更新或新增列表中的元素。linsert list position value
:将指定值插入列表指定位置。
列表结构适合用来实现消息队列功能。
三、集合类型(Set)
集合是一种无重复元素的无序集合,可用来实现交集、并集、差集等操作。常见命令有:
sadd set value
:将元素添加至集合。smembers set
:获取集合中所有元素。sismember set value
:判断元素是否存在于集合中。scard set
:获取集合的元素数量。srandmember set
:随机抽取集合中的一个元素。spop set
:从集合中随机移出一个元素。smove set old_val new_val
:将元素从一个集合移动至另一个集合。
集合类型可用于社交存储共同关注的用户,实现二度好友关系等复杂场景。
四、哈希类型(Hash)
哈希类型类似于字典或映射关系,适合存储对象数据。常用命令包括:
hset hash key value
:设置哈希字段值对。hget hash key
:获取哈希字段值。hgetall hash
:获取完整的哈希键值对列表。hdel hash key
:删除哈希字段。hlen hash
:获取哈希字段总数。hexists hash key
:检查哈希字段是否存在。hkeys hash
:遍历哈希键列表。hvals hash
:遍历哈希值列表。hincrby/decrby hash key number
:增减哈希字段值。
哈希类型在人face信息存储方面应用广泛。
五、有序集合类型(Zset)
Zset在集合基础上增加了顺序值(score),用于排序存储元素。这类数据适合实现排行榜功能。常用命令包括:
zadd zset key score
:将元素添加至有序集合。zrange zset start end
:按默认升序输出有序集合元素。zrangebyscore zset 0 100
:根据score范围遍历元素。zrevrange zset
:按降序输出有序集合元素。zrem zset
:删除有序集合中的元素。zcard zset
:获取有序集合元素数量。zrevangebyscore zset
:按降序按score输出元素。zcount zset 10 20
:统计指定score范围内的元素数量。
有序集合可通过score值实现灵活的排行榜功能。下次更新时,还将介绍Redis的三大特殊类型:Geospatial、Hyperloglog和Bitmaps,这些类型在高级应用中应用广泛。
发表评论
最新留言
关注你微信了!
[***.104.42.241]2025年04月17日 02时10分20秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
CentOS 7之Postfix部署系列 (一) CentOS安装
2023-01-26
flask框架面向移动端的虚拟物品订购平台毕设源码+论文
2023-01-26
flask框架飞机订票管理系统(毕设源码+论文)
2023-01-26
flask框架餐饮管理系统毕设源码+论文
2023-01-26
flask框架高性能教学资源平台设计与实现(毕设源码+论文)
2023-01-26
flask框架高校助学及勤工俭学管理系统(毕设源码+论文)
2023-01-26
flask框架高校图书管理系统设计与实现(毕设源码+论文)
2023-01-26
flask框架高校招生预报管理系统(毕设源码+论文)
2023-01-26
flask框架高校教师个人数字档案(毕设源码+论文)
2023-01-26
flask框架高校毕业生选题系统(毕设源码+论文)
2023-01-26
flask框架高校竞赛信息管理系统(毕设源码+论文)
2023-01-26
flask框架魔方教学网站毕设源码+论文
2023-01-26
Flask解决跨域访问问题(Access to XMLHttpRequest at ‘http://127.0.0.1:500been blocked by CORS policy: No ‘Acc)
2023-01-26
Flatterer: 快速JSON转换工具使用指南
2023-01-26
Flex / PHP Security Basics - Part One
2023-01-26
FLEX 4 :选择本地文件编辑
2023-01-26
Flex 与 spring mvc 整合 BlazeDB
2023-01-26
flex 动态创建组件之容器自适应大小
2023-01-26
java 记事本程序_Java记事本程序Notebook
2023-01-27