Redis

news2024/11/29 5:39:15

1.概念:redis是一款高性能的NOSQL系列的非关系型数据库
            关系型数据库:数据之间有关联关系,数据存储在硬盘的文件上
            非关系型数据库:数据之间没有关联关系,数据存储在内存中
            是一款用C语言开发的一个开源的高性能键值对(Key-Value)数据库
            目前Redis数据库支持的数据类型为
            字符串类型String 哈希类型 hash 列表类型 list 集合类型 set 有序集合类型 sortedset
            1.1NQL
                NOSQL(NoSQL = Not Only SQL),意味"不仅仅是SQL",是一项全新的数据库理念,泛指没有关系的数据库
            1.2NSQ与关系型数据库比较
            优点:
                成本:nosql数据库简单部署,基本都是开源软件,不需要使用oracle那个大量成本,
                查询速度:nosql数据库将数据存储于缓存中,关系型数据库将数据存入硬盘之中,自然查询速度远不及nosql数据库
                数据存储格式:nosql的存储格式是key,value形式,文档形式,图片形式等等,所以可以存储基础类型以及对象或是集合等各种格式,而数据库只支持基础类型
                扩展性:关系型数据库有类似join这样的多表查询机制导致扩展很艰难
            缺点:
                维护的工具和资料有限,不能和关系型数据库十几年的技术同日而语
                不提供对sql的支持,如果不支持sql这样的工业标准,将产生一定胡勇的学习和使用成本
                不提供关系型数据库对事物的处理
            非关系数据库的优势
                性能nosql是基于键值对的,可以相信成表中的主键和值的对应关系,而且不需要经过sql层的解析,所以性能非常高
                可扩展性同样也是基于键值对,数据之间没有耦合性,所以非常容易水平扩展
            2.下载于安装
                官网:https://redis.io/
                中文网:https://www.redis.net.cn/

        3.命令操作
                1.redis的数据结构
                    redis的存储是Key-value格式的数据,其中key都是字符串,value有物种不同的数据结构
                    字符串类型String 哈希类型 hash 列表类型 list 集合类型 set 有序集合类型 sortedset
                2.字符串类型String
                    1.存储:set key value
                    2.获取:get key
                    3.删除:del key
                3.哈希类型 hash
                    1.存储:hset key field value
                    2.获取:hget key filed
                        获取所有的key:hget key 
                    3.删除:hdel key field 
                4.列表类型:list可以添加一个元素到列表的头部(左边)或者尾部(右边)
                    添加:
                      

                        lpush key value:将元素加入列表左边
                        rpush key value 将元素加入列表右边


                    获取:
                      

 lrang key start end  :范围的一个获取


                    删除:
                      

                        lpop key:删除列表最左边的元素,并将元素返回
                        rpop key:删除列表最右边的元素,并将元素返回


                5.集合类型:set不允许重复元素
                    1.存储:sadd key value
                    2.获取:smemvers key:获取set集合所有元素
                    3.删除:srem key value:删除set集合中的某个元素
                6.有序集合类型:sortedset
                    Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。
                    不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。
                    1.存储:zadd key score value:
                    2.获取:zrange key start end
                    3.删除:zrem key value
                7.通用命令
                  

                    keys *:   查询所有的键
                    type  key:   获取键对应的value的类型
                    del key:删除指定的key value


            4.持久化
                1.redis是一个内存数据库,当redis服务器重启,或者电脑重启了,我们可以将redis内存中的数据持久化保存到硬盘的文件中
                2.redis持久化机制:
                    1.RDB:默认方式,不需要进行配置,默认就使用这种机制
                        *在一定的间隔时间中,检测key的变化情况,然后持久化数据
                        在一定的间隔时间中,检测key的变化情况,然后持久化数据
                        编辑redis.conf
                        

 save 900 1
#   after 900 sec (15 min) if at least 1 key changed   在十五分钟内又1个key发生改变
save 300 10
#   after 300 sec (5 min) if at least 10 keys changed    在五分钟内又三百个key发生改变
save 60 10000
#   after 60 sec if at least 10000 keys changed   在60s内又10000key发生改变


                    2.AOF:日志记录的方式,可以记录每一条命令的操作,可以每一次命令操作后,持久化数据
                        编辑redis.conf
                                

appendonly no (默认关闭)--》appendonly yes (开启aof)
# appendfsync always   每一次操作都执行持久化
appendfsync everysec   每隔一秒进行一次持久化
# appendfsync no  不进行持久化

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

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

相关文章

猿创征文|一文吃透JAVA初学者的开发工具

✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:乐趣国学的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏:CSDN活动专…

【算法】网络最大流问题,三次尝试以失败告终

文章目录开始基本思路:“反悔”机制干活尝试一:深度优先搜索尝试二:少走弯路尝试三:最短增广路径,广度优先还是没ac记两个小bug1. 数组越界2. 写错变量名小结最后一个版本的代码(C)定义类与函数…

谷雨妹子要出国

文 / 谷雨(微信公众号:王不留) 作为出差在外的实施团队中的唯一一位女生,我可以独享一个单间,晚上的备考时候不会受影响,心里倒有点美嗞嗞的。 目前工作状态是 996(早上九点到晚上九点&#xf…

常用短信平台一览,记得收藏哦

市面上的短信平台很杂很多,小到几个人的公司、大到腾讯、阿里这样的巨无霸都在做,但常用的就那么几个,因而用户的选择也存在不少的困惑。 在我看来,我觉得选择短信平台、在我看来有这几个需要的注意地方: 1、价格 无论…

Java:Session 会话详解

在介绍本篇的主角之前, 我们先复习一下 Cookie 为了实现在游览器的持久性存储和安全性考虑, 游览器提供了一个机制—— Cookie , Cookie 的储存空间很有限, 不同的游览器Cookie空间上限也不同, 一般总上限是 4k 个字节左右 (例如 Firefox), 其储存也只是按照域名进行分块存储, …

在众多编程语言中,我为什么要学Python?

前言 编程语言排行榜三剑客Java、C、C,长期统治榜首,今日python重回榜首 (文末送福利) python的前世今生 1、最新动态 TIOBE排行榜是根据互联网上有经验的程序员、课程和第三方厂商的数量,并使用搜索引擎&#xff…

【算法篇-动态规划】手撕各大背包问题 —— 01背包

背包问题1. 最基础的背包 —— 01背包 (必看)1.1 分析1.2 状态转移方程 和 边界条件1.3 代码1.3.1 代码模拟1.4 空间复杂度的优化1.4.1 错误的优化方式1.4.2 正确的优化方式1.5 终极版优化总结本文章参考自 B站 董晓算法 董晓算法 1. 最基础的背包 ——…

Linux下git和gdb的使用

🚀每日鸡汤:生活不相信眼泪,即使你把眼泪流成珍珠,灰暗的生活也不会因此而闪光。 目录 一、使用git命令行 1.1安装git、配置仓库 Ⅰ.gitignore Ⅱ.git 1.2git的基本使用 二、Linux调试器-gdb 2.1、gdb的使用 2.2、 debug与…

矩阵求导简记

很多机器学习算法都需要求解最值,比如最小二乘法求解样本空间相对拟合曲线的最短距离,最值的求解往往通过求导来计算,而机器学习中又常用矩阵来处理数据,所以很多时候会涉及到矩阵的求导。矩阵求导就像是线性代数和微积分的结合&a…

熬夜肝出囊括Java后端95%的面试题解析

为大家整理了一版java高频面试题,其实,一直有大佬在面试,不是在面试,就是在面试的路上,2022其实不是个适合跳槽的年份,稳稳当当当然好,但是,也别委屈自己呀,话不多说&…

Kotlin编程实战——与Java互操作(10)

一 概述 Kotlin 中调用 Java 代码Java 中调用 Kotlin 二 Kotlin 中调用 Java 代码 Getter 和 Setter返回 void 的方法将 Kotlin 中是关键字的 Java 标识符进行转义空安全与平台类型Java类型映射kotlin类型Kotlin 中的 Java 泛型Java 可变参数 三 Java 中调用 Kotlin 属性实…

【ELM预测】基于matlab探路者算法优化极限学习机预测(含前后对比)【含Matlab源码 2204期】

一、探路者算法简介 提出的一种新兴的智能优化算法,该算法的思想起源于群体动物的狩猎行为,种群中的个体分为探路者和跟随者两种角色。算法的寻优过程模拟了种群寻找食物的探索过程,利用探路者、跟随者两种角色不同的位置更新方式以及角色间…

NR/5G - PUSCH repetition次数

--- R15 DCI format 0-1 PUSCH 38.214中的描述,DCI format 0-1调度的PUSCH,包括C-RNTI/MCS-C-RNTI动态DCI调度PUSCH以及CS-RNTI,NDI1时候指示的Configured Grant的重传调度PUSCH,通过PUSCH-Config中的pusch-AggregationFactor指示…

谷粒学院——Day02【环境搭建和讲师管理接口开发】

前后端分离概念 传统单体结构 前后端分离结构 前后端分离就是将一个单体应用拆分成两个独立的应用:前端应用和后端应用,以JSON格式进行数据交互。 后台讲师管理模块环境搭建 一、数据库设计 数据库 guli_edu 数据库 guli_edu.sql # # Structure fo…

3.1 Python 字符串类型常用操作及内置方法

文章目录1. 类型转换2. 字符串索引取值3. 遍历字符串4. 统计长度5. 字符串的复制与拼接5.1 字符串的复制5.2 加号拼接5.3 .join 方法拼接字符串6. 字符比较7. 成员运算8. .format9. .split10. .strip11 . .upper 与 .lower12. .isupper 与 .islower13. .startswith 与 .endswit…

15 个机器学习的基本 Python 库

一定有很多次你试图在 Python 中找到一个库来帮助你完成机器学习项目。但是,经常遇到一件事!今天有如此多的 Python 库可用,并且许多库在每几年之后都会大量发布,因此选择合适的库并不容易。 有时会花费数小时寻找合适的库&#…

【数据结构基础】之图的介绍,生动形象,通俗易懂,算法入门必看

前言 本文为数据结构基础【图】 相关知识,下边将对图的基本概念,图的存储结构,图的遍历包含广度优先遍历和深度优先遍历,循环遍历数组,最小生成树,拓扑排序等进行详尽介绍~ 📌博主主页&#xf…

spring启动流程(二):包的扫描流程

在applicationContext的创建中,我们分析了applicationContext的创建过程,在本文中,我们将分析spring是如何进行包扫描的。 依旧是AnnotationConfigApplicationContext的构造方法: public AnnotationConfigApplicationContext(St…

自底向上语法分析(bottom-up parsing)

自底向上语法分析(bottom-up parsing)自底向上分析概述LR分析概述LR(0)分析增广文法点标记项目LR(0)分析表CLOSURE函数GOTO函数LR(0)自动机的状态集LR(0)分析表构造算法LR(0)自动机的形式化定义LR(0)分析的冲突问题SLR分析SLR算法的关键SLR分析的冲突问题…

U3D热更新技术

作者 : SYFStrive 博客首页 : HomePage 📌:个人社区(欢迎大佬们加入) 👉:社区链接🔗 🤷‍♀️:创作不易转发需经作者同意😈 💃:程…