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通用命令

相关推荐
nongcunqq1 小时前
abap 操作 excel
java·数据库·excel
rain bye bye1 小时前
calibre LVS 跑不起来 就将setup 的LVS Option connect下的 connect all nets by name 打开。
服务器·数据库·lvs
阿里云大数据AI技术3 小时前
云栖实录|MaxCompute全新升级:AI时代的原生数据仓库
大数据·数据库·云原生
不剪发的Tony老师3 小时前
Valentina Studio:一款跨平台的数据库管理工具
数据库·sql
weixin_307779134 小时前
在 Microsoft Azure 上部署 ClickHouse 数据仓库:托管服务与自行部署的全面指南
开发语言·数据库·数据仓库·云计算·azure
六元七角八分4 小时前
pom.xml
xml·数据库
Achou.Wang4 小时前
源码分析 golang bigcache 高性能无 GC 开销的缓存设计实现
开发语言·缓存·golang
虚行4 小时前
Mysql 数据同步中间件 对比
数据库·mysql·中间件
奥尔特星云大使4 小时前
mysql读写分离中间件Atlas安装部署及使用
数据库·mysql·中间件·读写分离·atlas
牛马baby4 小时前
【mysql】in 用到索引了吗?
数据库·mysql·in