Redis数据类型及存取命令

理想三旬浓烟下,奔赴山海与荒野

一,Redis常用五种数据类型及存取命令

1,字符串(String)

1 # 设置字符串的值
2 SET key value
3 
4 # 获取字符串的值
5 GET key

2,列表(List)

1 # 在列表左侧添加一个元素
2 LPUSH key value
3 
4 # 在列表右侧添加一个元素
5 RPUSH key value
6 
7 # 获取列表指定范围内的元素
8 LRANGE key start stop

3,集合(set)

1 # 添加一个元素到集合中
2 SADD key member
3 
4 # 获取集合中所有元素
5 SMEMBERS key

4,有序集合(sorted set)

1 # 添加一个元素到有序集合中
2 ZADD key score member
3 
4 # 根据分值范围获取有序集合中的元素
5 ZRANGEBYSCORE key min max

5,哈希表(hash)

1 # 设置哈希表中的键值对
2 HSET key field value
3 
4 # 获取哈希表中的指定键值对
5 HGET key field

除了以上数据类型,Redis 还支持更多的数据类型和命令,如位图(bitmap),地理位置(geo)等。

此外,Redis 还提供了一些通用控制命令,如查询键是否存在,删除指定键值对等,这些命令都是在Redis中使用非常频繁的。

二,通用控制命令

1,存取控制

 1 # 查看键是否存在
 2 EXISTS key
 3 
 4 # 删除指定键值对
 5 DEL key [key ...]
 6 
 7 # 设置键的过期时间(秒)
 8 EXPIRE key seconds
 9 
10 # 获取键的过期时间(秒),-1表示永不过期,-2表示已过期
11 TTL key

2,计数器和数字控制

1 # 将指定键值加上一个整数
2 INCRBY key increment
3 
4 # 将指定键值减去一个整数
5 DECRBY key decrement

3,事务控制

1 # 开启事务
2 MULTI
3 
4 # 提交事务
5 EXEC
6 
7 # 取消事务
8 DISCARD

4,其他

1 # 获取Redis服务器当前时间
2 TIME
3 
4 # 执行脚本命令
5 EVAL script numkeys key [key ...] arg [arg ...]

5,服务器控制

1 # 关闭Redis服务器
2 SHUTDOWN [SAVE|NOSAVE]
3 
4 # 通过哈希表设置Redis配置参数
5 CONFIG SET parameter value
6 
7 # 获取Redis配置参数
8 CONFIG GET parameter

6,客户端控制

1 # 查看客户端连接信息
2 CLIENT LIST
3 
4 # 关闭指定客户端连接
5 CLIENT KILL addr

7,复制控制

# 设置Redis主服务器
SLAVEOF ip port

# 取消Redis的主从复制
SLAVEOF NO ONE

# 读取复制操作日志和状态信息
INFO REPLICATION

三,Redis自定义数据类型模块

在 Redis 中,可以通过使用 Redis 模块系统自定义数据类型或扩展 Redis 功能。Redis 模块是一个可动态载入的库,通过其中定义的一组 API 实现所需的操作,同时其代码可以独立于其他 Redis 代码编写和调试。

自定义 Redis 模块需要如下步骤:

  1,了解 Redis 模块 API

    首先需要了解 Redis 模块 API 以便编写模块代码。Redis 模块 API 定义了一组由 Redis 主程序和模块之间调用的函数,使用这些 API 可以操作主存储器、执行 I/O、与客户端进行交互等。API 集合在 Redis 模块的头文件 redismodule.h 中,可以在 Redis 源码中找到。

  2,编写模块代码

    在编写过程中,需要使用模块 API 为 Redis 主程序添加新数据类型或扩展 Redis 功能。模块代码需要遵循一些规则以便 Redis 主程序可以动态加载它。例如,模块代码必须定义初始化函数、卸载函数和入口点函数等。

  3,编译模块代码

    编译模块代码需要使用 Redis 提供的编译器,编译后将产生动态链接库。模块文件名必须以 .so 或 .dll 为后缀,以便 Redis 主程序可以正确载入它。在编译过程中,需要将 Redis 主程序和模块头文件包含到编译命令中。

  4,载入模块

    通过 Redis 模块系统载入已编译的模块。可以使用 Redis 命令    MODULE LOAD 载入模块。载入模块后,Redis 主程序可以使用新的 API 和数据类型或扩展 Redis 功能。

Redis 模块提供了一种方便的方式扩展 Redis 的功能。这种扩展方式可以自定义强类型数据结构、算法等,并通过 Redis 内存管理系统来协调资源的分配和释放。同时,自定义的模块也可以享受 Redis 主程序的诸多特性,如持久化、复制等。

 

posted @ 2023-05-23 19:32  ZZKZS  阅读(235)  评论(0编辑  收藏  举报
/*鼠标跟随效果*/