提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- Redis基础知识点总览
- 1. Redis简介
- 2. Redis数据类型
- 2.1 字符串(String)
- 2.2 哈希(Hash)
- 2.3 列表(List)
- 2.4 集合(Set)
- 2.5 有序集合(Sorted Set)
- 3. Redis高级特性
- 3.1 发布/订阅(Pub/Sub)
- 3.2 事务
- 3.3 Lua脚本
- 3.4 持久化
- 4. Redis应用场景
- 总结
Redis基础知识点总览
1. Redis简介
Redis(Remote Dictionary Server)是一个开源的使用内存网络来存储数据、支持多种类型的数据结构(如字符串、哈希、列表、集合、有序集合、位图、HyperLogLogs等)的NoSQL数据库。
2. Redis数据类型
2.1 字符串(String)
字符串是Redis最基本的数据类型,可以存储任何形式的字符串(包括二进制数据)。
示例代码:
import redis# 连接到Redis服务器
r = redis.Redis(host='localhost', port=6379, db=0)# 设置键值对
r.set('name', 'Alice')# 获取值
name = r.get('name')
print(name.decode('utf-8')) # 输出: Alice
2.2 哈希(Hash)
哈希是键值对的集合,适合存储对象。
示例代码:
# 设置哈希
r.hset('user:1000', 'name', 'Alice')
r.hset('user:1000', 'age', 30)# 获取哈希中的值
user_name = r.hget('user:1000', 'name')
user_age = r.hget('user:1000', 'age')
print(user_name.decode('utf-8'), user_age.decode('utf-8')) # 输出: Alice 30
2.3 列表(List)
列表是字符串的有序集合,可以从两端添加或移除元素。
示例代码:
# 向列表左侧添加元素
r.lpush('my_list', 'element1')
r.lpush('my_list', 'element2')# 向列表右侧添加元素
r.rpush('my_list', 'element3')# 获取列表中的所有元素
my_list = r.lrange('my_list', 0, -1)
print([item.decode('utf-8') for item in my_list]) # 输出: ['element2', 'element1', 'element3']
2.4 集合(Set)
集合是无序的字符串集合,每个元素都是唯一的。
示例代码:
# 添加元素到集合
r.sadd('my_set', 'element1')
r.sadd('my_set', 'element2')
r.sadd('my_set', 'element3')# 获取集合中的所有元素
my_set = r.smembers('my_set')
print([item.decode('utf-8') for item in my_set]) # 输出可能是: ['element1', 'element3', 'element2'](集合无序)
2.5 有序集合(Sorted Set)
有序集合与集合类似,但每个元素都与一个分数相关联,按分数排序。
示例代码:
# 添加元素到有序集合
r.zadd('my_zset', {'element1': 1, 'element2': 2, 'element3': 3})# 获取有序集合中的所有元素及其分数
my_zset = r.zrange('my_zset', 0, -1, withscores=True)
for elem, score in my_zset:print(elem.decode('utf-8'), score) # 输出: element1 1.0, element2 2.0, element3 3.0
3. Redis高级特性
3.1 发布/订阅(Pub/Sub)
Redis的发布/订阅模式允许消息发送者(发布者)将消息发送到频道,消息接收者(订阅者)订阅频道并接收消息。
3.2 事务
Redis事务允许将多个命令打包成一个单独的原子操作,确保所有命令都按顺序执行。
3.3 Lua脚本
Redis支持Lua脚本,可以在服务器上执行复杂的逻辑,减少网络往返次数。
3.4 持久化
Redis提供两种持久化机制:RDB(快照)和AOF(追加文件)。
- RDB:定期将内存中的数据快照写入磁盘。
- AOF:记录每次写操作命令,并在服务器重启时重新执行这些命令来恢复数据。
4. Redis应用场景
- 缓存系统
- 计数器
- 发布/订阅系统
- 实时分析系统
- 消息队列
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,自学记录Redis基础知识点总览。