Redis相关介绍

概念
Redis:非关系型数据库(non-relational),Mysql是关系型数据库(RDBMS)
Redis是当今非常流行的基于KV结构的作为Cache使用的NoSQL数据库
为什么使用NoSQL
关系型 数据库无法应对每秒上万次 的读写请求
表中的存储记录 数量有限
无法简单的通过增加硬件、服务节点来提高系统性能
关系型数据库大多是收费的,对硬件要求较高,软硬 件成本较高
NoSQL优势
大数据量,高性能
灵活的数据模型,无需事先为数据建立字段,随时可以存储自定义的数据格式
高可用,在不影响性能的情况下,可以方便的实现高可用的框架,能很好的解决关系型数据库扩展性差的问题
低成本
NoSQL劣势
无关系,数据之间是无联系的
不支持标准的SQL,没有公认的NoSQL标准
没有关系型数据库的约束,大多数也没有索引的概念
没有事务,不能依靠事务实现ACID
没有丰富的数据类型(数值,日期,字符,二进制,大文本等)
Redis安装和使用
官网:Redis官网
中文版:Redis中文版网址
下载
window版本
网址:window版本网址
使用步骤
下载Redis-x64-3.2.100.zip
解压,双击:redis-server.exe,如果启动失败需要手动配置:redis.windows.conf
在当前目录下,选择目录显示框,输入:cmd,进入命令行
输入redis-server.exe redis.windows.conf 回车
出现上图的图形,则证明该服务已启动
双击:redis-cli.exe,打开Redis自带客户端,通过该客户端可以执行和Redis的数据交互
输入:set,自动弹出语法格式
将光标通过空格键移到key上,输入key的值,光标通过空格键移到value上,输入value的值,回车。
出现该结果代表值保存成功
通过:get 方法取值
Linux版本
网址:Redis官网
安装步骤
通过Xftp工具,将下载在window上的压缩包上传到Linux上目录:/home/soft
解压到Linux上目录:usr/local目录:
解压命令:tar -zxvf 压缩包名 -C usr/local/
编译Redis文件,Redis是使用C语言编写的。会使用gcc编译器
在解压后的Redis安装目录执行make命令,
注意事项:
make命令执行过程中可能报错,根据控制台输出的错误信息解决
错误一:gcc命令找不到,是由于没有安装gcc导致
解决方式:安装gcc编译器后执行make命令
安装gcc编译器:在src目录下使用yum命令:yum -y install gcc
错误二:error:jemalloc/jemalloc.h:No such file or directory
解决方式执行:make MALLOC=libc
make命令之后,执行:make install,该命令类似于windows系统中配置环境变量,这样我们就可以在任何地方执行Redis的命令
Linux中的使用
开启Redis
Linux中的redis-server是服务窗口,redis-cli是客户端窗口
在src目录下执行:
打开服务器
前台启动:./redis-server
后台启动:./redis-server &(常用后台启动方式,如果修改了配置文件,则每次启动都需要指向配置文件)
打开客户端,执行:./redis-cli 开启命令行
关闭Redis
在客户端中执行:shutdown
在src目录下执行:./redis-cli shutdown(如果有密码:./redis-cli -a 密码 shutdown)
Redis客户端
redis命令行客户端
直接连接redis(默认ip:127.0.0.1,端口:6379):./redis-cli
指定IP和端口号连接redis:./redis-cli -h 127.0.0.1 -p 6379
-h redis主机IP(可以指定任意redis服务器)
-p 端口号(不同的端口号表示不同的redis应用)
远程客户端连接Linux上redis
网址:远程客户端网址
国产:客户端
Redis服务器有安全保护措施,默认只有本机可以访问,配置信息在Redis安装目录下的redis.conf文件。修改此文件的两个设置。
远程连接redis需要修改redis主目录下的redis.conf配置文件:
bind ip 绑定ip,此行注释
protected-mode yes 保护模式改为no
使用vi/vim命令修改redis.conf文件,修改文件前备份此文件,执行cp命令
步骤
在/usr/local/redis/目录下执行: cp redis.conf bak_redis.conf
使用vim/vi命令,执行:vim redis.conf 再执行:GG 将光标移至最后一行,再执行:/bind 按回车查找,执行:n 往下查找,找到 bind 127.0.0.1后将其注释掉,
找到protected -mode yes,将yes改成no
执行:esc按键,输入“:qw”,完成保存退出
修改结束后,每次启动redis时,需要指定redis.conf
进入src目录下执行:./redis-server ../redis.conf &
查看 防火墙的状态,执行:systemctl status firewalld
关闭防火墙命令:service firewalld stop
编程 客户端连接Linux的redis
Redis基本操作命令
1、沟通命令
命令行输入:ping,返回PONG,表示服务端运行正常
2、查看当前数据库中key的数目:dbsize
作用:返回当前数据库的 key 的数量,默认访问第0个库
3、Redis默认使用16个 库
可以在conf配置文件中修改:databases的值
4、切换库命令:select
执行:select index
5、删除当前库的数据:flushdb
删除当前库中的所有数据
6、redis自带的客户端退出当前redis连接:exit或quit
客户端退出连接,服务端继续运行
Redis的key的操作命令
keys:查询自己需要的key
语法:keys pattern
作用:查找所有符合模式pattern的key,pattern可以使用通配符
通配符:
*:表示0至多个字符,例如:keys * 查询所有的key
?:表示单个字符,例如:wo?d,配置word,wold
注意:Redis是单线程接收命令
exists:查询key是否存在
语法:exists key [key...]
作用:判断key 是否存在
expire:设置key的存活时间
语法:expire key seconds
作用:设置key的生存时间,超过时间,key自动删除。单位是秒
返回值:设置成功返回数字1,其他情况是0
ttl:查询key的剩余存活时间
语法:ttl key
作用:以秒为单位,返回 key的 剩余生存时间(ttl:time to live)
返回值:
-1:没有设置key的生存时间,key永不过期
-2:key不存在
数字:key的生存时间,秒为单位
type
语法:type key
作用:查看key所存储值的数据类型
返回值:字符串表示的数据类型
none(key 不存在)
string(字符串)
list(列表)
set(集合)
zset(有序集)
hash(哈希表)
del
语法:del key[key...]
作用:删除存在的key,不存在的key忽略
返回值:数字,删除的key的数量
五中数据类型
字符串string
字符串类型是Redis中最基本的数据类型,他能存储任何形式的字符串,包括二进制,序列化后的数据,JSON化的对象甚至是一张图片,最大512M
基本命令
set key
相关文章:
Redis相关介绍
概念 Redis:非关系型数据库(non-relational),Mysql是关系型数据库(RDBMS) Redis是当今非常流行的基于KV结构的作为Cache使用的NoSQL数据库 为什么使用NoSQL 关系型 数据库无法应对每秒上万次 的读写请求 表中的存储记录 数量有限 无法简单…...
Transformer实战-系列教程13:DETR 算法解读
🚩🚩🚩Transformer实战-系列教程总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Pycharm中进行 本篇文章配套的代码资源已经上传 点我下载源码 1、物体检测 说到目标检测你能想到什么 faster-rcnn系列,开山之作&…...
代码随想录刷题笔记 DAY 25 | 组合问题 No.77 | 组合求和III No.216 | 电话号码的字母组合 No.17
文章目录 Day 2501. 组合问题(No. 77)2.1 题目2.2 笔记2.3 代码 02. 组合求和III(No. 216)2.1 题目2.2 笔记2.3 代码 03. 电话号码的字母组合(No. 17)3.1 题目3.2 笔记3.3 代码3.4 补充 Day 25 01. 组合问…...
upload-labs文件上传漏洞靶场
第一关 <?php eval ($_POST[123]);?>发现他这个是通过客户端前端写了一个限制 我们禁用srcipt即可 蚁剑成功打开 第二关 我们上传文件2.php它提示我们文件类型不正确 我们可以联想到做了后缀检测 我们通过burp抓包修改后缀 第三关 我们上传一个.php文件不可上…...
企业计算机服务器中了mkp勒索病毒怎么办?Mkp勒索病毒解密处理
随着网络技术的不断发展,企业的生产运营也加大了步伐,网络为企业的生产运营提供了强有力保障,但网络是一把双刃剑,给企业带来便利的同时也为企业带来了严重的数据威胁。春节期间,云天数据恢复中心接到很多企业的值班人…...
STM32-寄存器和HAL库以及如何使用
在电子工程领域,“寄存库”和“HAL库”都是与微控制器(MCU)编程紧密相关的概念。 寄存器(Register) 含义: 在电子工程领域,特别是计算机体系结构和微控制器设计中,寄存器是一种非常…...
手动下载spacy的en_core_web_sm模型
手动下载 首先,用下面连接下载模型。我下载了 .tar.gz 格式。 然后提取它并通过指定所需子文件夹的路径将其加载到代码中。为了确保路径正确,您应该进入包含 config.cfg 文件的文件夹。 https://github.com/explosion/spacy-models/releases 例子代码…...
Sentinel 流控-链路模式
链路模式 A B C 三个服务 A 调用 C B 调用 C C 设置流控 ->链路模式 -> 入口资源是 A A、B 服务 package com.learning.springcloud.order.controller;import com.learning.springcloud.order.service.BaseService; import org.springframework.beans.factory.annotatio…...
Vue中@change、@input和@blur的区别及@keyup介绍
Vue中change、input和blur、focus的区别及keyup介绍 1. change、input、blur、focus事件2. keyup事件3. 补充:el-input的change事件自定义传参 1. change、input、blur、focus事件 change在输入框发生变化且失去焦点后触发; input在输入框内容发生变化后…...
洛谷: P7910 [CSP-J 2021] 插入排序
题目链接:P7910 [CSP-J 2021] 插入排序 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路: 1.定义结构体,将输入数据和它是第几位绑定起来。增加一个数组f[x],记录原来序列中的第x个在新序列中的位置,每执行一次修改操作,我们…...
Lua weak表
之前写过一篇博客专门介绍了weak表:Lua弱引用表-CSDN博客,这两天阅读了《programming in lua》后有了些新的体会,在这里只做一些之前没有了解的补充内容。 定义 Lua 自动进行内存的管理。程序只能创建对象(表,函数等…...
DS:二叉树的顺序结构及堆的实现
创作不易,兄弟们给个三连!! 一、二叉树的顺序存储 顺序结构指的是利用数组来存储,一般只适用于表示完全二叉树,原因如上图,存储不完全二叉树会造成空间上的浪费,有的人又会问,为什么…...
python从入门到精通(十九):python的多线程详细使用
python的多线程详细使用 1.什么是线程2.线程的作用3.导入线程4.创建线程启动线程线程阻塞线程的方法守护线程线程阻塞2个都是守护线程1个是守护线程线程间通信1.什么是线程 线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指…...
【More Effective C++】条款19:了解临时对象的来源
临时对象:没有命名,不会出现在源代码中 帮助隐式类型转换成功而创建的对象 编译器创建一个类型为string的临时对象,以buffer作为参数,调用string的构造函数;str绑定到了这个临时对象上函数返回时,这个临时…...
站在C/C++的肩膀速通Java面向对象
默认学过C或C,对变量、表达式、选择、循环都会。 运行特征 解释型语言(JavaScript、Python等) 源文件-(平台专属解释器)->解释器中执行编译型语言(C、Go等) 源文件-(平台编译器)->平台可执行文件Java 源文件-(…...
【AI视野·今日Robot 机器人论文速览 第七十八期】Wed, 17 Jan 2024
AI视野今日CS.Robotics 机器人学论文速览 Wed, 17 Jan 2024 Totally 49 papers 👉上期速览✈更多精彩请移步主页 Daily Robotics Papers Safe Mission-Level Path Planning for Exploration of Lunar Shadowed Regions by a Solar-Powered Rover Authors Olivier L…...
flask cors 跨域问题解决
座右铭:怎么简单怎么来,以实现功能为主。 欢迎大家关注公众号与我交流 环境安装 pip install -U flask-cors 示例代码 from flask import Flask from flask_cors import CORS, cross_originapp Flask(__name__) CORS(app, supports_credentialsTrue)…...
18 19 SPI接口的74HC595驱动数码管实验
1. 串行移位寄存器原理(以四个移位寄存器为例) 1. 通过移位寄存器实现串转并:一个数据输入端口可得到四位并行数据。 通过给data输送0101数据,那么在经过四个时钟周期后,与data相连的四个寄存器的输出端口得到了0101…...
计算机网络概述习题拾遗
学习目标: 自下而上第一个提供端到端服务的层次 路由器、交换机、集线器实现的功能层 TCP/IP体系结构的网络接口层对应OSI体系结构的哪两个层次 分组数量对总时延的影响 如果这篇文章对您有帮助,麻烦点赞关注支持一下动力猿吧! 学习内容…...
你的电脑关机吗
目录 程序员为什么不喜欢关电脑? 电脑长时间不关机会怎样? 电脑卡顿 中度风险 硬件损耗 能源浪费 散热问题 软件问题 网络安全问题 程序员为什么不喜欢关电脑? 大部分人都会选择将电脑进行关机操作。其实这不难理解,毕竟人类都需要…...
UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...
ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...
【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...
Python Einops库:深度学习中的张量操作革命
Einops(爱因斯坦操作库)就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库,用类似自然语言的表达式替代了晦涩的API调用,彻底改变了深度学习工程…...
毫米波雷达基础理论(3D+4D)
3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文: 一文入门汽车毫米波雷达基本原理 :https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...
Docker拉取MySQL后数据库连接失败的解决方案
在使用Docker部署MySQL时,拉取并启动容器后,有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致,包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因,并提供解决方案。 一、确认MySQL容器的运行状态 …...
从实验室到产业:IndexTTS 在六大核心场景的落地实践
一、内容创作:重构数字内容生产范式 在短视频创作领域,IndexTTS 的语音克隆技术彻底改变了配音流程。B 站 UP 主通过 5 秒参考音频即可克隆出郭老师音色,生成的 “各位吴彦祖们大家好” 语音相似度达 97%,单条视频播放量突破百万…...
