Redis入门教程详解
什么是Redis?
Redis(Remote Dictionary Server)是一种基于内存的开源的非关系型数据库(NoSQL),它提供了键值对的存储、发布订阅消息和存储一些简单的数据类型(如字符串、列表、集合、散列表和有序集合)。可以用来做缓存、消息中间件、计数器、排行榜等。
安装Redis
可以到 官网 上下载 Redis,也可以使用 Linux 上的包管理器进行安装。
通过命令行验证 Redis 是否安装成功。
$ redis-cli ping
如果输出 PONG
,则说明 Redis 安装成功。
Redis基础使用
字符串操作
最基本的数据类型是字符串(string),可以使用 set
和 get
命令来进行存取操作。
$ redis-cli
127.0.0.1:6379> set mykey hello # 设置键 mykey 对应的值为 hello
OK
127.0.0.1:6379> get mykey # 获取键 mykey 对应的值
"hello"
列表操作
Redis 还提供了列表(list)数据类型,可以使用 lpush
命令来进行在列表头部推入数据,使用 rpush
命令来在尾部添加数据。可以使用 lrange
命令来获取列表中的所有元素。
$ redis-cli
127.0.0.1:6379> lpush mylist a # 在列表 mylist 头部推入一个元素 a
1
127.0.0.1:6379> lpush mylist b # 在列表 mylist 头部推入一个元素 b
2
127.0.0.1:6379> rpush mylist c # 在列表 mylist 尾部添加一个元素 c
3
127.0.0.1:6379> lrange mylist 0 -1 # 展示列表 mylist 中的所有元素
1) "b"
2) "a"
3) "c"
集合操作
Redis 也提供了集合(set)数据类型,可以使用 sadd
命令来添加元素,使用 smembers
命令来获取所有元素。
$ redis-cli
127.0.0.1:6379> sadd myset 1 # 添加元素 1 到集合 myset
1
127.0.0.1:6379> sadd myset 2 # 添加元素 2 到集合 myset
1
127.0.0.1:6379> sadd myset 2 # 添加已存在的元素 2
0
127.0.0.1:6379> smembers myset # 获取集合 myset 的所有元素
1) "1"
2) "2"
Redis高级用法
发布订阅模式
Redis 提供了发布订阅(pub/sub)模式,可以用来实现消息推送、任务通知、即时在线聊天等场景。可以使用 subscribe
命令订阅指定频道,使用 publish
命令发布消息到指定频道。
$ redis-cli
# 1号连接
127.0.0.1:6379> subscribe channel
# 2号连接
127.0.0.1:6379> publish channel "message"
Lua脚本
Redis 可以使用 Lua 脚本来实现一些高级功能,比如在 Redis 服务端执行 Lua 脚本可以在一次请求中同时进行多条操作,从而减少网络开销。
$ redis-cli
127.0.0.1:6379> eval 'local value\ = redis.call("get", "mykey")\ return value' 0 # 执行 Lua 脚本获取 mykey 的值
"hello"
总结
Redis 具有高性能、可扩展、数据结构丰富等特点,可以用来做缓存、消息中间件、计数器、排行榜等。这篇文章介绍了 Redis 的基础使用和高级用法示例,希望能够帮助到初学者快速上手 Redis。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Redis入门教程详解 - Python技术站