Redis所有知识点(只读这一篇就够了)
Redis 是一个开源的使用 C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。
以下是 Redis 的一些主要知识点:
- 数据类型:Redis 支持字符串、列表、集合、有序集合、哈希表等数据类型。
- 持久化:Redis 提供 RDB 和 AOF 两种持久化方式,可以将数据保存到磁盘以防止数据丢失。
- 复制:Redis 支持主从复制,可以实现数据的多副本存储。
- 过期删除策略:Redis 采用惰性删除和定时删除两种策略来删除过期的键。
- 内存管理:Redis 使用了高效的内存管理机制来避免内存碎片问题。
- 事务:Redis 的事务可以一次性执行多条命令,并保证他们按照顺序执行,中间不会插入其他命令。
- 发布订阅:Redis 提供发布订阅功能,可以用于消息的广播。
- 分片:Redis 支持分片(Cluster),可以将数据分布在多个 Redis 节点上。
- 主要配置:包括最大内存设置(maxmemory),数据持久化策略,安全设置(如密码,SSL/TLS),高可用和集群配置等。
- 性能测试:Redis 提供了性能测试工具 redis-benchmark,可以测试 Redis 在不同条件下的性能。
示例代码(使用 Python 的 redis 库):
import redis
# 连接到 Redis
r = redis.Redis(host='localhost', port=6379, db=0)
# 设置键值对
r.set('key', 'value')
# 获取键的值
value = r.get('key')
print(value)
# 列表操作
r.lpush('mylist', 'value1')
r.lpush('mylist', 'value2')
print(r.lrange('mylist', 0, -1)) # 打印列表元素
# 集合操作
r.sadd('myset', 'value1')
r.sadd('myset', 'value2')
print(r.smembers('myset')) # 打印集合元素
# 哈希操作
r.hset('myhash', 'field1', 'value1')
print(r.hgetall('myhash')) # 打印哈希表内容
# 过期时间设置
r.setex('mykey', 10, 'value') # 设置键值对和过期时间(10秒)
# 事务操作
pipeline = r.pipeline()
pipeline.set('key1', 'value1')
pipeline.set('key2', 'value2')
pipeline.execute()
# 发布订阅
pubsub = r.pubsub()
pubsub.subscribe('mychannel')
pubsub.publish('mychannel', 'hello')
以上代码展示了如何使用 Python 的 redis 库来连接 Redis,执行基本的数据类型操作,设置键的过期时间,使用事务,以及发布订阅消息。
评论已关闭