redis入门学习

一、基础架构

一、应用场景

1、缓存:将后端数据库的热数据缓存到redis中,然后直接从内存中读取数据,提高响应速度。

2、消息队列

3、排行榜,一般用于游戏行业

二、基础结构

1、数据结构

  • sring(字符串):一个键对应一个值,命令:get、set、del

  • list(列表):一个键对应多个并且可重复的值,列表中的字符串是有序的。

    >rpush list-key item:从左边插入一个值 item

    >lpush list-key item 2 :从右边插入一个值 item02

    >lrange list-key 0 -1 :使用0开始-1结束范围的索引,可以查看列表包含的所有元素。

    >lindex liset-key 1 :从列表中取出单个元素

  • set(集合):一个键对应多个无序的且不可重复的值,

    />sadd set-key item:添加一个值

    />smembers set-key :查看所有值

    />sismember set-key:检查一个值是否存在于集合

    />srem set-key item:删除一个值

  • hash(散列):可以存储多个键值对之间的映射

    />hset hash-key sub-key1 value1:在散列里面关联给定的键值对

    />hget ha sh-key sub-key1:在散列里面获取某个键的值

    />hgetall hash-key :获取散列里的所有值

    />hdel hash-ket sub-key2:删除散列里的某一个键值对

  • zset(有序集合):存储多个键值对,键称为成员(member),每个成员各不相同。值为分值(score),依据分值数字大小进行排序

    />zadd set-key 728 member:添加元素,

    />zrange zset-key 0 -1 withscroes :获取所有键值对

    />zrangbuscore zset-key 0 800 withscores :依据分值范围获取部分数据

    />zrem zset-key member:移除某个键值

redis的命令执行原子性:这些命令正在读取或者修改数据的时候,其他客户端不能读取或者修改

二、数据安全与性能保障

一、持久化

快照(RDB):

  • BGSAVE:不会阻塞处理命令请求,会生成子进程来写快照并落盘
  • SAVE(弃用):会阻塞处理命令请求
  • 配置文件:
save 900 100
save 300 10000
save 60 100000	#60秒内10W次写入就会快照

AOF:

appendfsync everysec:每秒执行一次同步,最多丢失1秒的数据

重写/压缩AOF文件:BGREEWRITEAOF,工作原理类似BGSAVE,开启子进程

复制:

注意:从服务器在进行同步时会清空自己的所有数据

主服务器配置:使用50%内存,其余用来执行BGSAVE和创建写命令的缓冲区

主从 复制步骤:

1、从:链接主库,发送sync命令

2、主:执行DGSAVE命令,缓冲区记录写命令,执行完毕后,向从库发送快照文件,

3、从:丢弃旧文件,,载入主发送的快照文件

4、主:向从库发送缓冲区里的写命令,从:接受主发来的写命令

5、主:每执行一个写命令就向从库发送

检验aof执行是否成功:info命令中,aof_pending_bio_fsync的属性是否为0

三、redis常用命令

1、基础命令

get/set:读、写命令。

select:切换数据库,redis默认有16个数据库,默认使用0号库

dbsize:显示当前数据库的key的数量

flushdb:删除当前库中的所有数据

flushall:删除所有库的数据

info:显示数据库的信息,比如主从、Keyspace、CPU、连接数、内存、端口、进程ID、版本等等信息

2、key相关命令

1、keys

格式:KEYS pattern

功能:查找所有符合给定模式 pattern 的 key,pattern 为正则表达式。

说明:KEYS 的速度非常快,但在一个大的数据库中使用它可能会阻塞当前服务器的服务。所以生产环境中一般不使用该命令,而使用 scan 命令代替。

2、exists

格式:EXISTS key

功能:检查给定 key 是否存在。

说明:若 key 存在,返回 1 ,否则返回 0 。

3、del

格式:DEL key [key …]

功能:删除给定的一个或多个 key 。不存在的 key 会被忽略。

说明:返回被删除 key 的数量。

4、rename

l 格式:RENAME key newkey

l 功能:将 key 改名为 newkey。

l 说明:当 key 和 newkey 相同,或者 key 不存在时,返回一个错误。当 newkey 已经存在时, RENAME 命令将覆盖旧值。改名成功时提示 OK ,失败时候返回一个错误。

5、move

l 格式:MOVE key db

l 功能:将当前数据库的 key 移动到给定的数据库 db 当中。

l 说明:如果当前数据库(源数据库)和给定数据库(目标数据库)有相同名字的给定 key ,或者 key 不存在于当前数据库,那么 MOVE 没有任何效果。移动成功返回 1 ,失败则返回 0 。

6、type

l 格式:TYPE key

l 功能:返回 key 所储存的值的类型。

l 说明:返回值有以下六种

none (key 不存在)

string (字符串)

list (列表)

set (集合)

zset (有序集)

hash (哈希表)

7、expire/pexpire

l 格式:EXPIRE key seconds

l 功能:为给定 key 设置生存时间。当 key 过期时(生存时间为 0),它会被自动删除。 expire 的时间单位为秒,pexpire 的时间单位为毫秒。在 Redis 中,带有生存时间的 key被称为“易失”(volatile)。

l 说明:生存时间设置成功返回 1。若 key 不存在时返回 0 。rename 操作不会改变 key的生存时间。

8、ttl/pttl

格式:TTL key

功能:TTL, time to live,返回给定 key 的剩余生存时间。

说明:其返回值存在三种可能:

1/当 key 不存在时,返回 -2 。

2/当 key 存在但没有设置剩余生存时间时,返回 -1 。

3/否则,返回 key 的剩余生存时间。ttl 命令返回的时间单位为秒,而 pttl 命令返回的时间单位为毫秒。

9、persist

l 格式:PERSIST key

l 功能:去除给定 key 的生存时间,将这个 key 从“易失的”转换成“持久的”。

l 说明:当生存时间移除成功时,返回 1;若 key 不存在或 key 没有设置生存时间,则返回 0。

建议 Redis 千万别把主机全部内存吃完。通常 maxmemory 设置为 75% 就相对不会出现问题,也不容易 OOM。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/9871.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【计算机毕业设计】springboot工资管理系统

人类现已迈入二十一世纪,科学技术日新月异,经济、资讯等各方面都有了非常大的进步,尤其是资讯与 网络技术的飞速发展,对政治、经济、军事、文化等各方面都有了极大的影响。 利用电脑网络的这些便利,发展一套工资管理系…

权力集中,效率提升,中心化模式的优势与挑战

​🌈 个人主页:danci_ 🔥 系列专栏:《设计模式》 💪🏻 制定明确可量化的目标,坚持默默的做事。 🚀 转载自热榜文章🔥:探索设计模式的魅力:权力集中…

IO 5.10

在一个进程中,创建一个子线程。 主线程负责:向文件中写入数据 子线程负责:从文件中读取数据 要求使用线程的同步逻辑,保证一定在主线程向文件中写入数据成功之后,子线程才开始运行,去读取文件中的数据#incl…

第Ⅷ章-Ⅱ 组合式API使用

第Ⅷ章-Ⅱ 组合式API使用 provide与inject的使用vue 生命周期的用法编程式路由的使用vuex的使用获取DOM的使用setup语法糖setup语法糖的基本结构响应数据的使用其它语法的使用引入组件的使用 父组件传值的使用defineProps 父传子defineEmits 子传父 provide与inject的使用 pro…

学习java的继承

1.什么是继承 java中提供了一个关键字,extends,可以让一个类与另一个类建立起父子关系。 例如 public class B extends A { --- } 在这里,我们称A类为父类(也被称为基类或者超类)B类称为子类(或者是派生…

debian10 (armbian) 配置CUPS 服务

更新apt apt-update安装相关软件 apt-get install ghostscript apt-get install dc apt-get install foomatic-db-engine apt-get install cups3.修改配置文件 nano /etc/cups/cupsd.conf Listen localhost:631改为 Listen 0.0.0.0:631 以下四段配置加入Allow All # Only li…

【智能优化算法】矮猫鼬优化算法(Dwarf Mongoose Optimization Algorithm,DMHO)

矮猫鼬优化算法(Dwarf Mongoose Optimization Algorithm,DMHO)是期刊“COMPUTER METHODS IN APPLIED MECHANICS AND ENGINEERING”(IF 7.3)的2022年智能优化算法 01.引言 矮猫鼬优化算法(Dwarf Mongoose Optimization Algorithm,DMHO)模仿矮猫鼬的觅食行…

天府锋巢直播产业基地构建成都电商直播高地

天府锋巢直播产业基地自成立以来,一直秉承着创新、协同、共赢的发展理念,吸引了众多直播企业纷纷入驻。随着直播产业的迅猛发展,改成都直播基地内的配套服务也显得尤为重要。本文将深入探讨入驻天府锋巢直播产业基地后,配套的直播…

错误处理机制——vba(vb.net)

程序出现错误时可采用如下错误处理机制:出错时跳到标签处,判断错误类型修正错误,重新返回正确标签处,继续运行程序。 代码如下: Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click…

数据分析的行为要求

数据分析的行为要求通常涉及多个方面,以确保分析的准确性、有效性和合规性。以下是一些关键的行为要求: 诚信、严谨和积极的职业态度: 保持诚实和透明的态度,确保数据分析结果的真实性和可信度。严谨对待数据,遵循科学…

Golang面向对象编程(一)

文章目录 结构体基本介绍结构体定义方式创建结构体变量结构体内存对齐结构体类型转换字段的Tag标签 方法基本介绍方法的定义和调用方法调用的传参机制String方法 结构体 基本介绍 基本介绍 Go支持面向对象编程特性,包括封装、继承和多态,但Go中没有类&a…

Linux——综合实验

要求 按照上面的架构部署一个简单的web节点所有的服务器使用DNS服务器作为自己的DNS服务器 就是/etc/reslov.conf 中nameserver的值必须是途中dns服务器的地址所有的数据库都是用mysql应用 nfs共享导出在客户端(web服务器上)使用autofs在自动挂载,或者写入/etc/fsta…

VirtualBox虚拟FreeBSD15显卡配置@Win10

VirtualBox虚拟FreeBSD15,准备把X桌面装上,但是常规一顿操作后pkg install xorg xfce4 ,一开始startx直接黑屏,后来执行startx就卡在登录界面,而且只能ssh登录上去kill不能切换出来。 执行xrandr报错没有显示器&#x…

window10设置静态IP

右键桌面网络图标 点击属性 点击要查看的网络 点击详细信息 获得网络连接详细信息 右键WiFi符号 或者其他方式进入网络与internet中心 点击 WLAN 点击属性 点击编辑(点击一个即可) 选择手动将刚才的信息方进入即可 完成

MySQL变量的声明与使用

MySQL变量的声明与使用 1、标识符不能以数字开头 2、自能使用_或$符号,不允许使用其他符号。 3、不允许使用系统关键字 将赋值与查询结合 set userName 刘德华; select userName: 刘青云; # 将赋值与查询结合 查询变量/使用变量 select userName as 读取到的u…

TDN: Temporal Difference Networks for Efficient Action Recognition 论文阅读

TDN: Temporal Difference Networks for Efficient Action Recognition 论文阅读 Abstract1. Introduction2. Related work3. Temporal Difference Networks3.1. Overview3.2. Short-term TDM3.3. Long-term TDM3.4. Exemplar: TDN-ResNet 4. ExperimentsAblation studiesCompa…

抖音新店怎么对接达人?对接达人秘籍流程分享,让你学会找达人

大家好,我是电商花花。 新手怎么对接达人带货?这是我们新手商家 要考虑的问题。 很多新手抱怨自己新店铺不出单,没有销量,对接达人又怕达人看不上,没有达人愿意帮我带货,在面临这样的情况下不知道该怎么办…

【科研】常用的实验结果评价指标(1) —— R2(R-square)是什么?

常用的实验结果评价指标(1) —— R2(R-square),可能为负数吗?! 提示:先说概念,后续再陆续上代码 文章目录 常用的实验结果评价指标(1) —— R2(R-square),可能…

ETL免费工具kettle(PDI),安装和配置

起源: Kettle最早是一个开源的ETL工具,全称为KDE Extraction, Transportation, Transformation and Loading Environment。在2006年,Pentaho公司收购了Kettle项目,原Kettle项目发起人Matt Casters加入了Pentaho团队,成…

IPsec协议:保障网络通信的安全利器

目录 概述 特性 传输模式与隧道模式 AH协议 ESP协议 安全关联与IKE协议 IPsec工作机制 验证通信 总结 概述 在当今数字化时代,网络安全变得愈发重要。IPsec协议(Internet Protocol Security)作为一种网络安全协议,扮演着…