redis(1)

1.redis的图形化桌面客户端

2.RDM的使用

有16个库通过select几来切换库!!!

3.redis数据结构

以下是 Redis 常见数据结构的说明和示例:

1. 字符串 (String)

  • 描述:字符串是 Redis 中最基本的类型。它可以存储任何类型的字符串,包括二进制数据(例如图片或视频文件的字节流)。
  • 操作SET, GET, INCR, DECR, APPEND 等。

示例

复制代码

bashCopy Code

java 复制代码
SET name "Alice" # 设置键名 "name" 的值为 "Alice" GET name # 获取键名 "name" 的值,返回 "Alice" INCR age # 如果键名 "age" 存在,递增其值

2. 列表 (List)

  • 描述:Redis 列表是一个简单的链表,支持从两端推入和弹出元素。可以进行非常高效的插入操作。
  • 操作LPUSH, RPUSH, LPOP, RPOP, LRANGE 等。

示例

复制代码

bashCopy Code

bash 复制代码
LPUSH fruits "apple" # 在列表左边推入 "apple" RPUSH fruits "banana" # 在列表右边推入 "banana" LRANGE fruits 0 -1 # 获取列表中所有元素,返回 ["apple", "banana"] LPOP fruits # 从列表左边弹出 "apple"

3. 集合 (Set)

  • 描述:集合是一个无序且不重复的元素集合,支持常见的集合操作,如交集、并集和差集。
  • 操作SADD, SREM, SMEMBERS, SINTER, SUNION 等。

示例

复制代码

bashCopy Code

bash 复制代码
SADD pets "dog" "cat" # 向集合 "pets" 中添加元素 "dog" 和 "cat" SMEMBERS pets # 获取集合 "pets" 中的所有元素,返回 ["dog", "cat"] SREM pets "cat" # 从集合中移除元素 "cat"

4. 有序集合 (Sorted Set)

  • 描述:有序集合是集合的扩展,每个元素都有一个关联的分数 (score),根据分数对集合中的元素进行排序。不同于集合 (Set),有序集合中的元素是可以重复的,但它们的分数会影响排序。
  • 操作ZADD, ZREM, ZRANGE, ZRANK, ZINCRBY 等。

示例

复制代码

bashCopy Code

cs 复制代码
ZADD leaderboard 100 "Alice" 200 "Bob" 150 "Charlie" # 向有序集合中添加元素并指定分数 ZRANGE leaderboard 0 -1 WITHSCORES # 获取所有元素,按分数排序,返回 [ "Alice", "100", "Charlie", "150", "Bob", "200" ] ZINCRBY leaderboard 50 "Alice" # 增加 Alice 的分数 50

5. 哈希 (Hash)

  • 描述:哈希是一个键值对集合,类似于 Python 中的字典或者 Java 中的 HashMap。每个哈希表的键和值都是字符串类型。
  • 操作HSET, HGET, HDEL, HGETALL 等。

示例

复制代码

bashCopy Code

diff 复制代码
HSET user:1000 name "Alice" age "25" city "New York" # 向哈希表 "user:1000" 中添加键值对 HGET user:1000 name # 获取 "user:1000" 哈希表中 "name" 的值,返回 "Alice" HGETALL user:1000 # 获取 "user:1000" 哈希表中的所有键值对

6. 位图 (Bitmap)

  • 描述 :位图是一种对位进行操作的特殊数据结构,通常用来表示布尔值(0 或 1)。在 Redis 中,位图通过 SETBITGETBIT 操作实现,可以用于实现如签到系统、在线状态等应用。
  • 操作SETBIT, GETBIT, BITCOUNT 等。

示例

复制代码

bashCopy Code

bash 复制代码
SETBIT mybit 7 1 # 设置第 7 位为 1 GETBIT mybit 7 # 获取第 7 位的值,返回 1 BITCOUNT mybit # 统计位图中值为 1 的位数

7. HyperLogLog

  • 描述:HyperLogLog 是一种用于进行基数估算的数据结构。它可以用来统计大量数据的基数 (如唯一用户数量),但其特点是占用内存非常小。
  • 操作PFADD, PFCOUNT, PFMERGE 等。

示例

复制代码

bashCopy Code

cpp 复制代码
PFADD visitors "user1" "user2" "user3" # 添加多个元素到 HyperLogLog 中 PFCOUNT visitors # 获取基数估算值,返回 3

8. 地理空间 (Geo)

  • 描述:Redis 提供了地理空间支持,可以用来存储和查询带有经纬度信息的元素,支持计算两点之间的距离、获取附近的元素等。
  • 操作GEOADD, GEODIST, GEORADIUS 等。

示例

复制代码

bashCopy Code

cpp 复制代码
GEOADD locations 13.361389 38.115556 "Palermo" # 添加地理坐标 GEOADD locations 15.087269 37.502669 "Catania" GEODIST locations "Palermo" "Catania" # 计算 "Palermo" 和 "Catania" 之间的距离

9. 流 (Stream)

  • 描述:Redis 5.0 引入了流 (Stream) 数据类型,可以用于处理消息队列。流是一种日志型数据结构,可以用于保存事件日志。
  • 操作XADD, XREAD, XDEL, XTRIM 等。

示例

复制代码

bashCopy Code

Dart 复制代码
XADD mystream * sensor-id 1234 temperature 19.8 XREAD BLOCK 0 STREAMS mystream 0 # 阻塞读取流

总结

Redis 提供了丰富的数据结构,适用于多种不同场景。通过这些数据结构,开发者可以在高性能的基础上实现丰富的功能,满足各种业务需求。对于高频次的查询和更新,Redis 是非常高效的,特别适合用于缓存、消息队列、计数器、排行榜、实时统计等应用。

4.redis通用命令

相关推荐
黑客老李10 分钟前
BaseCTF scxml 详解
开发语言·网络·数据库·python·sql·安全
m0_748250031 小时前
数据库---HSQLDB使用教程详解
数据库
Karen1981 小时前
汉服文化管理系统|Java|SSM|VUE| 前后端分离
java·数据库·mysql·毕业设计·课程设计
叶 落1 小时前
书籍推荐:MySQL 是怎样运行的-从根上理解 MySQL
数据库·mysql·书籍推荐
五行星辰1 小时前
SQL与数据库交互:Java的财富管理
数据库·sql·交互
大鳥1 小时前
深入了解 StarRocks 表类型:解锁高效数据分析的密码
数据库·starrocks·sql
cooldream20092 小时前
Microsoft Azure Cosmos DB:全球分布式、多模型数据库服务
数据库·人工智能·microsoft·知识图谱·azure
YONG823_API2 小时前
如何通过API实现淘宝商品评论数据抓取?item_review获取淘宝商品评论
大数据·开发语言·javascript·数据库·网络爬虫
华哥啊.3 小时前
redis缓存token失效的处理机制
数据库·redis·缓存
轩轩9902183 小时前
何为“正则表达式”!
数据库·mysql·正则表达式