当前位置: 首页 > article >正文

【自学笔记】Redis基础知识点总览-持续更新

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 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基础知识点总览。


http://www.kler.cn/a/589950.html

相关文章:

  • 在本地跑通spark环境
  • 程序化广告行业(22/89):腾讯广告业务布局与广告效果评估基础
  • 无再暴露源站!群联AI云防护IP隐匿方案+防绕过实战
  • coding ability 展开第四幕(滑动指针——巩固篇)超详细!!!!
  • 【华为OD-E卷 - 字符统计及重排 100分(python、java、c++、js、c)】
  • jmeter 循环控制器遍历列表中的数据
  • 20250317笔记本电脑在ubuntu22.04下使用acpi命令查看电池电量
  • test skills
  • 【数据分析】数据筛选与访问行列元素3
  • 2020年蓝桥杯第十一届CC++大学B组(第二次)真题及代码
  • 从被动响应到主动防御——IT 应急演练平台 v3.0.1 重构企业安全免疫系统
  • RPC是啥?
  • 图论part3|101.孤岛的总面积、沉没孤岛、417. 太平洋大西洋水流问题
  • Vue3项目匹配PC端和移动端---一套组件
  • MATLAB语言的编程竞赛
  • 沉浸式vr大空间打造,打造超真实的虚拟体验
  • 【教学类-43-25】20240311 数独3宫格的所有可能(图片版 12套样式,空1格-空8格,每套510张,共6120小图)
  • 配置 VSCode 的 C# 开发环境
  • Matlab 基于专家pid控制的时滞系统
  • Tree of Thought Prompting(思维树提示)