Redis配置
关系型数据库和非关系型数据库
①了解关系和非关系
关系型数据库
-
一个结构化的数据库,创建在关系模型基础上,一般面向于记录,包括Oracle、MySQL、SQL Server、Microsoft Access、DB2、postgreSQL等
非关系型数据库
-
除了主流的关系型数据库外的数据库,都认为是非关系型,包括 Redis、MongBD、Hbase、 CouhDB等
②区别
-
数据存储方式不同:
-
扩展方式不同:
-
对事务性的支持不同
关系型:
安全性高,能做持久化,事务处理能力强,任务控制能力强,可以做日志备份、恢复、容灾的能力更强
实例——>数据库——>表(table)——>记录行(row)\数据字段(column)——>存储数据
非关系型:
数据保存在缓存中,利于读取速度/查询数据,架构中位置灵活,分布式、扩展性高
实例——>数据库——>集合——>键值对
非关系型数据库不需要手动建数据库和集合(表)
非关系型数据库产生背景
-
High performance—对数据库高并发读写需求
-
HugeStorage—对海量数据高效存储与访问需求High
-
Scalability && High Availability—对数据库高可扩展性与高可用性需求
了解Redis
Redis是一个非关系型数据库,是一个开源的,基于在内存上运行并且支持持久化,采用键值对(key-value),分布式架构集群
Redis的优点
-
具有极高的数据读写速度
-
支持丰富的数据类型
-
支持数据的持久化
-
操作方式原子性
-
支持数据备份
为什么这么快?
-
Redis是一款纯内存结构,避免了磁盘I/o等耗时操作
-
Redis命令处理的核心模块为单线程
-
采用了i /o 多路复用机制,大大提升了并发效率
部署安装Redis(配置文件说明)
配置文件路径: /etc/6379.conf
日志文件:redis_6379.log
数据文件:date 6379路径下
执行文件:redis_server
客户端命令工具:redis_cli
reids安装部署
systemctl stop firewalld
setenforce 0
yum install -y gcc gcc-c++ make #安装依赖环境
tar zxvf redis-5.0.7.tar.gz -C /opt/
cd /opt/redis-5.0.7/
make
make PREFIX=/usr/local/redis install



#执行软件包提供的 install_server.sh 脚本文件设置 Redis 服务所需要的相关配置文件
cd /opt/redis-5.0.7/utils
./install_server.sh
...... #一直回车
Please select the redis executable path [/usr/local/bin/redis-server] /usr/local/redis/bin/redis-server #需要手动修改为 /usr/local/redis/bin/redis-server ,注意要一次性正确输入

#把redis的可执行程序文件放入路径环境变量的目录中便于系统识别
ln -s /usr/local/redis/bin/* /usr/local/bin/
#当 install_server.sh 脚本运行完毕,Redis 服务就已经启动,默认监听端口为 6379
netstat -natp | grep redis

#修改配置 /etc/redis/6379.conf 参数
vim /etc/redis/6379.conf
bind 192.168.86.11 #70行,修改 监听的主机地址
/etc/init.d/redis_6379 restart #重启redis服务#Redis 服务控制
/etc/init.d/redis_6379 stop #停止
/etc/init.d/redis_6379 start #启动
/etc/init.d/redis_6379 restart #重启
/etc/init.d/redis_6379 status #状态
![]()
![]()

命令: redis-cli -h host p port #进入数据库例:redis-cli -h 192.168.86.11 -p 6379
-h: 指定远程主机
-p :指定 Redis 服务的端口号
![]()
常用命令:
set:存放数据,命令格式为 set key value
get:获取数据,命令格式为 get key

keys * :查看所有的key
keys 字符* :查看所有以某字符开头的key


?:表示单个字符
keys 字符? 表示查询某字符开头的后面跟着单个字符的key
exists:判断键是否存在: 1表示已存在 0表示不存在
del(delete):删除当前数据库的指定 key:
type:获取 key 对应的 value 值类型 string表示字符串
rename:对已有的key进行重命名
格式:rename 源key 目标key
使用rename命令进行重命名时,无论目标key是否存在都进行重命名,且源key的值会覆盖目标key的值。在实际使用过程中,建议先用 exists 命令查看目标 key 是否存在,然后再决定是否执行 rename 命令,以避免覆盖重要数据


renamenx: 对已有 key 进行重命名,如果目标 key 存在则不进行重命名(不覆盖)
dbsize:查看当前数据库中 key 的数目
move:移动
select:切换数据库 【连接 Redis 数据库后,默认使用的是序号为 0 的数据库】
将k3移动至数据库1中,切换到数据库1进行查看
flushdb:清空当前数据库数据

flushall:清空所有数据库的数据【慎用!】
redis-benchmark 测试工具
redis-benchmark 是官方自带的 Redis 性能测试工具,可以有效的测试 Redis 服务的性能。
基本的测试语法:redis-benchmark [选项] [选项值]
常用选项:
-h:指定服务器主机名
-p:指定服务器端口
-S:指定服务器 socket
-C:指定并发连接数
-n:指定请求数
-d:以字节形式指定 set/get 值的数据大小
-k :1=keep alive 0=reconnect
-r :set/get/incr 使用随机 key, SADD 使用随机值
-P :通过管道传输<numreq>请求
--csv:以csv格式输出
-l:生成循环,永久执行测试
-t:仅运行以逗号分割的测试命令列表
-I :Idle 模式。仅打开 N 个 idle 连接并等待例:
向 IP 地址为 192.168.86.11、端口为 6379 的 Redis 服务器发送 100 个并发连接与 100000 个请求测试性能
redis-benchmark -h 192.168.86.11 -p 6379 -c 100 -n 100000测试存取大小为 100 字节的数据包的性能
redis-benchmark -h 192.168.86.11 -p 6379 -q -d 100测试本机上 Redis 服务在进行 set 与 lpush 操作时的性能
redis-benchmark -t set,lpush -n 100000 -q
相关文章:
Redis配置
关系型数据库和非关系型数据库 ①了解关系和非关系 关系型数据库 一个结构化的数据库,创建在关系模型基础上,一般面向于记录,包括Oracle、MySQL、SQL Server、Microsoft Access、DB2、postgreSQL等 非关系型数据库 除了主流的关系型数据库…...
CSDN每日一练 |『小艺照镜子』『Ctrl+X,Ctrl+V』『括号上色』2023-09-11
CSDN每日一练 |『小艺照镜子』『Ctrl+X,Ctrl+V』『括号上色』2023-09-11 一、题目名称:小艺照镜子二、题目名称:Ctrl+X,Ctrl+V三、题目名称:括号上色一、题目名称:小艺照镜子 时间限制:1000ms内存限制:256M 题目描述: 已知字符串str。 输出字符串str中最长回文串的长度…...
React 全栈体系(四)
第二章 React面向组件编程 六、组件的生命周期 1. 效果 需求:定义组件实现以下功能: 让指定的文本做显示 / 隐藏的渐变动画从完全可见,到彻底消失,耗时2S点击“不活了”按钮从界面中卸载组件 <!DOCTYPE html> <html lang"e…...
各种UI库使用总结
各种UI库使用总结 工作了这么年,使用了一些UI库,简单的总结一下,UI库也是五花八门,根据自己的产品,应用场景吧,没有绝对合适的,各有各的应用场景吧! QT 这几年前后在一些嵌入式上…...
2023Web前端开发面试手册
HTML基础 1. HTML 文件中的 DOCTYPE 是什么作用? HTML超文本标记语言: 是一个标记语言, 就有对应的语法标准 DOCTYPE 即 Document Type,网页文件的文档类型标准。 主要作用是告诉浏览器的解析器要使用哪种 HTML规范 或 XHTML规范…...
一文了解数据科学Notebook
编者按: 主要介绍什么是Notebook,Notebook在数据科学领域的应用的重要性与优势,以及数据科学家/算法团队在选择Notebook时需考虑哪些关键因素。同时,基于Notebook的筛选考量维度,对常见的Notebook进初步对比分析&#…...
2020年12月 C/C++(二级)真题解析#中国电子学会#全国青少年软件编程等级考试
C/C++编程(1~8级)全部真题・点这里 第1题:数组指定部分逆序重放 将一个数组中的前k项按逆序重新存放。例如,将数组8,6,5,4,1前3项逆序重放得到5,6,8,4,1。 时间限制:1000 内存限制:65536 输入 输入为两行: 第一行两个整数,以空格分隔,分别为数组元素的个数n(1 < n…...
关于ChatGPT的个人的一些观点
问题 1 Q: 你认为ChatGPT是一款非常有用的工具吗? A: 我认为ChatGPT是一款非常有用的工具。它可以帮助人们解决各种问题,包括技术问题、心理问题、生活问题等等。同时,ChatGPT也可以成为人们分享想法和交流的平台,增强人与人之间…...
Solidity 小白教程:13. 继承
Solidity 小白教程:13. 继承 这一讲,我们介绍solidity中的继承(inheritance),包括简单继承,多重继承,以及修饰器(modifier)和构造函数(constructorÿ…...
队列(Queue)的顶级理解
目录 1.队列(Queue) 的概念 2.单链表模拟实现队列 2.1创建队列 2.2入队列 2.3判断是否为空 2.4出队列 2.5获取队头元素 2.6完整代码: 2.7双向链表模拟实现队列代码 3.数组模拟实现队列代码 3.1创建队列 3.2判断是否为满 3.3检查是否为空 3.4插入元素 3…...
选择 Guava EventBus 还是 Spring Framework ApplicationEvent
文章首发地址 Spring Framework ApplicationEvent Spring Framework 的 ApplicationEvent 是 Spring 框架提供的一种事件机制,用于实现发布和订阅事件的功能。它基于观察者模式,允许应用程序内的组件之间进行松耦合的通信。 下面是关于 Spring Frame…...
Linux下go环境安装、环境配置并执行第一个go程序
一、安装 1.Golang对Linux的内核版本要求 GO对Linux内核版本最低要求是 2.6.23,对应要求操作系统版本是: RHEL 6.0CentOS 6.0即,不支持 (RHEL 和 CentOS) 的 (4.x or 5.x)。2.下载golang的代码版本 Golang的官网下载地址:https:…...
自定义Dynamics 365实施和发布业务解决方案 - 5. 高级自定义
本章的目的是探索可应用于Dynamics365的高级自定义。这包括使用插件和自定义工作流活动实现复杂的业务流程。此外,您还将了解如何使用SPKL任务运行器来部署这些,这在第2章中进行了讨论。最后,您还将看到使用Web API查询数据。 准备工作 若要从高级自定义开始,必须首先创建…...
软件测试下的AI之路(2)
😏作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。 📡主页地址:【Austin_zhai】 🙆目的与景愿:旨在于能帮助更多的测试行业人员提升软硬技能,分享行业相关最新信息。…...
前端面试的话术集锦第 7 篇:高频考点(浏览器渲染原理 安全防范)
这是记录前端面试的话术集锦第七篇博文——高频考点(浏览器渲染原理 & 安全防范),我会不断更新该博文。❗❗❗ 1. 浏览器渲染原理 注意:该章节都是⼀个⾯试题。 1.1 渲染过程 1.1.1 浏览器接收到HTML⽂件并转换为DOM树 当我们打开⼀个⽹⻚时,浏览器都会去请求对应的…...
打印剪刀手“耶”(V形)
用给定单个字符和首行宽度(奇数), 打印首行宽度为给定奇数“V”字形状)。 (本笔记适合Py 推崇的插件字符串格式化的 coder 翻阅) 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org/ Free:大咖免费“圣经”教程《 python 完全…...
eNSP基本命令大全
单交换机VLAN划分 进入系统视图 system 进入系统视图 system-view 退到系统视图 quit 删除vlan 20 undo vlan 20 交换机命名 sysname 显示vlan disp vlan 创建vlan(也可进入vlan 20) vlan 20 把端口1-5放入VLAN 20 中 port e1/0/1 to e1/0/5 显示vlan里的端口20 disp v…...
java并发编程 ConcurrentLinkedQueue详解
文章目录 1 ConcurrentLinkedQueue是什么2 核心属性详解3 核心方法详解3.1 add(E e)3.2 offer(E e)3.3 poll()3.4 size()3.5 并发情况分析 4 总结 1 ConcurrentLinkedQueue是什么 ConcurrentLinkedQueue是一个无界的并发队列,和LinkedBlockingQueue相比,…...
msvcp110.dll是什么意思与msvcp110.dll丢失的解决方法
电脑突然提示msvcp110.dll丢失,无法执行此代码。导致软件无法打开运行,这个怎么办呢?我在网上找了一天的资料,终于把这个问题彻底处理好,也弄清楚了msvcp110.dll丢失的原因及msvcp110.dll丢失修复方法?现在…...
八)Stable Diffussion使用教程:MultiDiffusion
multidiffusion,它可以实现图片从 512 像素到 2K、4K 甚至 6K 画质的飞跃。 插件安装步骤: 1)选择扩展 2)选择可用,点击加载按钮 3)找到multidiffusion,点击右侧安装按钮 安装插件后可以在文生图和图生图的出图参数中看到多了两个区域,其实这个插件是由两部分组成的,…...
三角面片优化实战:用Delaunay算法将四边形网格转换为高性能三角网格
三角面片优化实战:用Delaunay算法将四边形网格转换为高性能三角网格 在计算机图形学和CAD建模领域,网格质量直接影响着渲染效率、仿真精度和计算性能。当工程师们面对复杂的四边形网格时,如何将其转换为高质量的三角网格成为一项关键技术挑战…...
效率倍增:用快马平台一键生成极客日报推荐的高效开发工具与脚本
最近在极客日报上看到不少提升开发效率的小技巧,比如用Prettier统一代码风格、配置Git Hooks自动化检查等等。但每次看完想实践时,总得花时间查文档、写配置,挺麻烦的。于是我用InsCode(快马)平台做了个工具生成器,能直接把日报里…...
STM32 TIM编码器模式实战:如何精准计算步进电机闭环控制的脉冲对应关系?
STM32 TIM编码器模式实战:步进电机闭环控制中的脉冲精确换算 步进电机在工业自动化、3D打印和精密仪器中扮演着关键角色,而闭环控制则是确保其运动精度的核心技术。许多工程师在实现闭环控制时,常常困惑于如何准确建立编码器脉冲与电机控制脉…...
OpCore Simplify技术突破:如何用智能适配重构开源系统定制效率
OpCore Simplify技术突破:如何用智能适配重构开源系统定制效率 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 在开源系统定制领域&#x…...
AI模型版本控制:Git for ML最佳实践
当软件测试遇上AI模型迭代对于软件测试从业者而言,版本控制是保障软件质量、实现可追溯性的基石。然而,当测试对象从传统的功能模块转变为动态演进的AI模型时,版本管理的复杂性陡然增加。一个推荐模型本周表现优异,下周却因数据漂…...
手把手教你用Scanpy搞定空间转录组分析:从Visium数据到FISH可视化(附避坑指南)
空间转录组分析实战:从Visium到MERFISH的Scanpy全流程解析 空间转录组技术正在彻底改变我们对组织微环境的理解。想象一下,你不仅能知道细胞表达哪些基因,还能精确看到这些基因在组织中的空间分布——这正是Visium和MERFISH等技术带来的革命。…...
STM32F103定时器中断实战:从main.c到stm32f10x_it.c的保姆级配置流程
STM32F103定时器中断实战:从工程搭建到精准控制的完整指南 在嵌入式开发领域,定时器中断是解放CPU资源、实现精准时间控制的核心技术。对于STM32F103这款经典微控制器而言,掌握其定时器中断配置流程,意味着能够摆脱阻塞式延时函数…...
MusePublic插件开发指南:Photoshop艺术生成插件实战
MusePublic插件开发指南:Photoshop艺术生成插件实战 1. 前言 作为设计师,你是否曾经遇到过这样的困境:客户急着要一套海报设计方案,你却在创意构思上卡壳了好几个小时?或者想要尝试新的艺术风格,却苦于手…...
YOLOv11检测头架构演进与工程实现剖析
1. YOLOv11检测头架构演进解析 目标检测领域近年来发展迅猛,YOLO系列作为其中的佼佼者,每次迭代都带来显著突破。YOLOv11的检测头设计堪称该系列迄今为止最精妙的架构创新,它彻底重构了传统检测头的任务处理方式。我曾在多个工业项目中尝试过…...
Android 应用间文件共享:FileProvider 配置与实战解析
1. 为什么需要FileProvider? 在Android开发中,每个应用都有自己的私有存储空间,这些目录默认是其他应用无法访问的。这种设计保证了应用数据的安全性,但同时也带来了一个问题:当我们需要与其他应用共享文件时该怎么办&…...


