分享好友 最新资讯首页 最新资讯分类 切换频道
Redis基于内存非关系型数据库
2024-12-27 13:29

特点及优点

 

与其他数据库对比

 

应用场景

  1.  

redis版本

 

Redis附加功能

 
 

Ubuntu

 

Windows

 
 

配置文件所在路径

 

设置连接密码

 

允许远程连接

 

远程连接测试

Windows连接Ubuntu的Redis服务

Redis基于内存非关系型数据库

 
 
 

五大数据类型及应用场景

类型特点使用场景string简单key-value类型,value可为字符串和数字常规计数(微博数, 粉丝数等功能)hash是一个string类型的field和value的映射表,hash特别适合用于存储对象存储部分可能需要变更的数据(比如用户信息)list有序可重复列表关注列表,粉丝列表,消息队列等set无序不可重复列表存储并计算关系(如微博,关注人或粉丝存放在集合,可通过交集、并集、差集等操作实现如共同关注、共同喜好等功能)sorted set每个元素带有分值的集合各种排行榜

通用命令:适用于所有数据类型

 

字符串类型(string)

特点
 
字符串常用命令
 
字符串常用命令
 
数值操作:字符串类型数字
 
键的命名规范

​ mset liu:email liuliu66@163.com

 
string命令汇总
 
string数据类型注意
 
示例
 

列表数据类型(List

特点
 
列表常用命令
 
示例
 
 

模块(redis)

Ubuntu
 
Windows
 

使用流程

 

Python与redis交互注意

 
通用命令代码示例
 
python操作list
 
list案例: 一个进程负责生产url,一个进程负责消费url

进程1: 生产者

 

进程2: 消费者

 

使用进程模块来实现试试

 
python操作string
 

位图操作bitmap:注:只能操作字符串

定义
 
强势点
 
设置某一位上的值(setbit
 
示例
 
获取某一位上的值
GETBIT key offset
 
bitcount

统计键所对应的值中有多少个 1

 
应用场景案例
 
代码实现
 

Hash散列数据类型

定义
 
优点
 
缺点(不适合hash情况
 
基本命令操作
 

Hash与python交互

 
Python代码hash散列
 
应用场景:微博好友关注
 
应用场景: redis+mysql+hash组合使用
原理
 
代码实现
 
mysql数据库中数据更新信息后同步到redis缓存

用户修改个人信息时,要将数据同步到redis缓存

 

集合数据类型(set

特点
 
基本命令
 
案例: 新浪微博的共同关注
 

python操作set

 
python代码实现微博关注
 

有序集合sortedset:主要运用:排行榜

特点
 
示例

一个保存了水果价格的有序集合

分值2.04.06.08.010.0元素西瓜葡萄芒果香蕉苹果

一个保存了员工薪水的有序集合

分值600080001000012000元素lucytomjimjack

一个保存了正在阅读某些技术书的人数

分值300400555666777元素核心编程阿凡提本拉登阿姆斯特朗比尔盖茨
有序集合常用命令
 

python操作sorted set

 
有序集合的交集与并集
 
案例1:网易音乐排行榜
 
代码实现
 
案例2: 京东商品畅销榜
 
python代码实现
 
 

持久化定义

 

为什么需要持久化

 

数据持久化分类之 - RDB模式(默认开启

默认模式
 
创建rdb文件的两种方式

**方式一:**服务器执行客户端发送的SAVE或者BGSAVE命令

 

**方式二设置配置文件条件满足时自动保存(使用最多)**执行的是bgsave

 

数据持久化分类之 - AOF(AppendOnlyFile,默认未开启

特点
 
RDB缺点
 
AOF持久化原理及优点
 
安全性问题考虑
 
策略 - 配置文件
 
AOF文件中是否会产生很多的冗余命令
 
示例
原有AOF文件重写后的AOF文件select 0SELECT 0sadd myset peiqiSADD myset peiqi qiaozhi danni lingyangsadd myset qiaozhiSET msg ‘hello tarena’sadd myset danniRPUSH mylist 2 3 5sadd myset lingyangINCR numberINCR numberDEL numberSET message ‘hello world’SET message ‘hello tarena’RPUSH mylist 1 2 3RPUSH mylist 5LPOP mylist
AOF文件重写方法触发
 
RDB和AOF持久化对比
RDB持久化AOF持久化全量备份,一次保存整个数据库增量备份,一次保存一个修改数据库的命令保存的间隔较长保存的间隔默认为一秒钟数据还原速度快数据还原速度一般,冗余命令多,还原速度慢执行SAVE命令时会阻塞服务器,但手动或者自动触发的BGSAVE不会阻塞服务器无论是平时还是进行AOF重写时,都不会阻塞服务器
 
数据恢复(无需手动操作
 
配置文件常用配置总结
 
Redis相关文件存放路径
 
 

定义

 

作用

 

原理

 

两种实现方式

方式一(Linux命令行实现1

redis-server --slaveof

 

方式一(Redis命令行实现2

 
示例
 
方式二(修改配置文件)
 
问题总结:master挂了怎么办
 
示例
 
 

Redis之哨兵 - sentinel

 

示例

1、环境搭建
 
2、安装并搭建sentinel哨兵
 

sentinel.conf解释

 

生产环境中设置哨兵sentinel

 
 

高并发产生的问题

 

怎么办

 

原理

 

实现

 

博客项目解决高并发问题

1、在数据库中创建库 blog,指定字符编码utf8

 

2、同步数据库,并在user_profile中插入表记录

 

3、启动django项目,并找到django路由测试 test函数

 

4、在数据库表中创建测试字段score

 

3、在blog/views.py中补充 test函数,对数据库中score字段进行 +1 操作

 

4、启多个服务端,模拟30个并发请求

(1)多台服务器启动项目

 

(2)在tools中新建py文件 test_api.py,模拟30个并发请求

 

(3) python3 test_api.py

(4) 在数据库中查看 score 字段的值

 
解决方案:redis分布式锁
 
 

特点

 

事务命令

 

使用步骤

 

事务中命令错误处理

 

为什么redis不支持事务回滚

  • 观点
 
 
python使用pipeline()与execute()批量进行批量操作

示例

 
 

Redis优点

 

来介绍一下redis中的数据类型

类型特点使用场景string简单key-value类型,value可为字符串和数字常规计数(微博数, 粉丝数等功能)hash是一个string类型的field和value的映射表,hash特别适合用于存储对象存储部分可能需要变更的数据(比如用户信息)list有序可重复列表关注列表,粉丝列表,消息队列等set无序不可重复列表存储并计算关系(如微博,关注人或粉丝存放在集合,可通过交集、并集、差集等操作实现如共同关注、共同喜好等功能)sorted set每个元素带有分值的集合各种排行榜

redis中的持久化方案

 

使用过Redis分布式锁么,它是什么回事

 
缓存穿透
 
缓存击穿
 
缓存雪崩
 
 

Redis优点

 

来介绍一下redis中的数据类型

类型特点使用场景string简单key-value类型,value可为字符串和数字常规计数(微博数, 粉丝数等功能)hash是一个string类型的field和value的映射表,hash特别适合用于存储对象存储部分可能需要变更的数据(比如用户信息)list有序可重复列表关注列表,粉丝列表,消息队列等set无序不可重复列表存储并计算关系(如微博,关注人或粉丝存放在集合,可通过交集、并集、差集等操作实现如共同关注、共同喜好等功能)sorted set每个元素带有分值的集合各种排行榜

redis中的持久化方案

 

使用过Redis分布式锁么,它是什么回事

 
缓存穿透
 
缓存击穿
 
缓存雪崩
最新文章
Python爬取QQ空间好友说说并生成词云(超详细)
前言先看效果图:nbsp;思路1.确认访问的URLnbsp;2.模拟登录你的QQ号nbsp;3.判断好友空间是否加了权限,切换到说说的frame,爬取当
python人工智能自定义求导tf_diffs详解
让x向左移动eps得到一个点,向右移动eps得到一个点,这两个点形成一条直线,这个点的斜率就是x这个位置的近似导数。eps足够小,
Python利用百度AI平台实现人脸识别
识别结果大概是这样{'result': {'face_num': 1, 'face_list': [{'quality': {'occlusion&#
OKExChain研究报告:安全、高效的DeFi孵化公链
 目录: 一、OKExChain介绍1.1 OKExChain简介1.2 Cosmos的架构1.2.1 Tendermint1.2.1跨链机制1.3OKExChain Token情况1.3.1
三星tab s7 (美版)使用两月感受,对比ipad pro12.9
亚马逊海外购自营买的美版tab s7,现在几乎所有人的平板都用苹果,在大妈平台上也鲜有人写Tab S7的评测,我给大家分享一下感受。
Windows Vista系统自带刻录功能简析
我们知道Windows XP系统自带CD刻录功能,但遗憾的是功能较简陋,且无法支持DVD刻录。在微软最新推出的Windows Vista
《花雕学AI》Poe 上四种 AI 机器人,ChatGPT、Sage、Claude 和 Dragonfly对比
虽然 ChatGPT 是一项革命性的技术,但它作为一个消费产品却有点失败。你可能会花很长时间等待 OpenAI 的聊天机器人加载,或者根
RR引导的群晖SA6400 DSM7.2新增12代+核显驱动
rr引导23.10.5起支持sata安装sa6400,昨天发布的23.11.6增加了sa6400 i915核显驱动,终于。。。有了测试机器:零刻N100,引导:r
【S880i(4GB)UC浏览器下载】联想S880i 4GBUC浏览器17.1.6.1347免费下载
UC专注16年,成就全球第三方手机浏览器全球6亿人上网必备APP,群众的眼睛是雪亮的头条视频小说网盘小游戏,想你之所想一应俱全UC