Redis数据类型与命令详解:String、List、Set、Sorted Set、Hash
需积分: 11 13 浏览量
更新于2024-09-10
收藏 370KB PDF 举报
"Redis数据类型及指令"
Redis是一个基于键值对的NoSQL数据库,其核心特性之一是支持多种数据类型。本篇文章主要介绍了Redis中的五种数据类型:String、List、Set、Sorted Set和Hash,以及与这些类型相关的操作指令。
1. String
String是最基本的数据类型,可以存储字符串、数字等简单数据。相关指令包括:
- `SET key value`:设置键值对,如果键已存在,则覆盖原有值。
- `GET key`:获取键对应的值,若键不存在,返回`nil`。
- `EXISTS key`:检查键是否存在,存在返回1,不存在返回0。
- `DEL key1 key2 ... keyN`:删除一个或多个键,返回被删除键的数量。
- `RENAME oldkey newkey`:重命名键,如果新键已存在,则会被覆盖。
- `RENAMENX oldkey newkey`:与`RENAME`类似,但新键已存在时操作失败。
- `DBSIZE`:返回当前数据库中的键数量。
- `KEYS pattern`:根据模式匹配所有键。
- `FLUSHDB`:清除当前数据库的所有键。
- `FLUSHALL`:清除所有数据库的所有键。
- `EXPIRE key seconds`:设置键的过期时间,单位为秒。
- `TTL key`:查询键的剩余过期时间,返回秒数,-1表示未设置过期时间或键不存在。
2. List
List是有序的字符串列表,支持在两端添加元素。
- `LPUSH key value1 value2`:在列表头部添加元素。
- `RPUSH key value1 value2`:在列表尾部添加元素。
- `LPOP key`:移除并返回列表的第一个元素。
- `RPOP key`:移除并返回列表的最后一个元素。
- `LINDEX key index`:获取列表中指定位置的元素。
- `LREM key count value`:删除列表中匹配的值,count决定删除次数。
3. Set集合
Set是无序且不重复的字符串集合。
- `SADD key member1 member2`:向集合中添加元素。
- `SMEMBERS key`:获取集合中的所有成员。
- `SREM key member1 member2`:从集合中移除元素。
- `SISMEMBER key member`:判断元素是否在集合中。
4. Sorted Set
Sorted Set是带有分数的有序集合。
- `ZADD key score1 member1 score2 member2`:添加成员到有序集合,并关联分数。
- `ZRANGE key start stop [WITHSCORES]`:按分数排序返回有序集合的一部分。
- `ZREVRANGE key start stop [WITHSCORES]`:按分数降序返回有序集合的一部分。
- `ZINCRBY key increment member`:增加成员的分数。
- `ZREM key member1 member2`:从有序集合中移除成员。
5. Hash
Hash是一系列字段-值对的集合。
- `HSET key field value`:设置哈希表字段的值。
- `HGET key field`:获取哈希表中字段的值。
- `HGETALL key`:获取哈希表中所有字段和值。
- `HDEL key field1 field2`:从哈希表中删除一个或多个字段。
- `HLEN key`:返回哈希表中字段的数量。
以上指令只是Redis命令集的一小部分,每个指令还有更多的参数和使用场景。熟练掌握这些指令,可以灵活地在Redis中存储和处理各种数据。在实际应用中,Redis还支持事务、发布订阅、持久化等高级功能,是构建高性能缓存、实时数据分析等系统的重要工具。
2021-01-21 上传
2023-03-08 上传
2020-12-16 上传
2023-06-01 上传
2023-05-31 上传
2023-11-03 上传
2023-05-03 上传
2023-03-23 上传
2023-07-12 上传
fan20065
- 粉丝: 1
- 资源: 1
最新资源
- 二维码编码器:二维码编码器,基于 Lior Shapira 的工作-matlab开发
- technicaldocumentation
- stm32-h750-proj
- CurrencyConverter:在React Native中创建的货币转换器
- notmuch-notify:新邮件到达的通知不多
- hifi-spatial-audio-js
- Klinik-GK-082366666660-Jual-Obat-Aborsi-Di-Surabaya:APOTEK GK FARMASI 24 JAM奥巴特·阿博西·阿斯里-欧巴特·特拉特·布兰·阿斯里-贾巴尔·奥巴特MENYEDIAKAN OBAT ABORSI PAKET TUNTAS KONSULTASI 082366666660纳玛·普鲁德克(Nama Produk)
- VietPad-开源
- nacos-server-2.0.3.zip
- aws_django_python
- 加拉加斯:JPAHibernate
- esbooyah:使用TypeScript编写的基于ESBuild的Booyah游戏引擎
- mpu9250-rpi-testing
- HazardousFDM:我的GitHub个人资料的配置文件
- 时频自动增益控制 (AGC):自动增益控制 (AGC) 尝试为音频信号保持恒定的能量水平。-matlab开发
- 白菜cms双端影视APP源码_全开源版_无授权无后门