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

【自学笔记】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基础知识点总览。

相关文章:

  • 移除元素(快慢指针)
  • 测试工作内容
  • 产品更新丨谷云科技ETLCloud 3月更新速递
  • 破解大数据密码:蓝耘Maas平台与阿里QWQ的智能分析革命
  • [MAVEN][经验总结]MAVEN_HOME和M2_HOME的配置建议
  • Linux-数据结构-线性表-单链表
  • 【计量地理学】实验一 地理数据的基本统计分析
  • Cluster Computer(SCI1区)投稿常见问题
  • 解决 Jupyter Notebook 中本地模块修改不生效的问题
  • SpringSecurity配置(自定义登录URI)
  • 【回归算法解析系列07】决策树回归(Decision Tree Regressor)
  • 【C++】树和二叉树的实现(上)
  • P1115 最大子段和(前缀和详解)c++
  • 力扣hot100二刷——二叉树
  • QT编译器mingw与msvc区别及环境配置
  • dfs(十三)206. 反转链表
  • 整合Thymeleaf
  • 动静态库区别
  • 算法题(100):腐烂的苹果
  • js 给元素添加点击事件的方法
  • 二级域名可以单独做网站吗/网络推销
  • 做鸡尾酒的网站/百度官方网页版
  • 台州高端网站建设/seo怎么学在哪里学
  • 网站域名详解/百度竞价推广属于什么广告
  • 政府门户网站建设问卷调查/seo检测优化
  • 成品免费的视频软件有哪些好用点/百度seo排名技术必不可少