Redis学习及总结

news2024/9/23 21:32:08

Redis 快速入门

Redis属于非关系型数据库
SQL应用场景

  1. 数据结构固定
  2. 相关业务对数据安全性一致性要求高

NoSQL应用场景

  1. 数据结构不固定
  2. 对一致性,安全性要求不高
  3. 性能要求高

🎯需要使用Xftp 传输压缩包到虚拟机上

安装好Redis后,
执行命令redis-server选择一个特定的执行目录,日志、持久化文件等都会保存在这个目录里面

将redis在后台运行
修改redis配置文件 redis.conf
(在正常模式输入 /想要查找的配置)

监听地址:bind 0.0.0.0
守护进程:daemonize yes
密码:设置后访问Redis必须输入密码
requirepass:123321

其他的配置

数据库数量默认有16个库,编号是0-15
database:1 代表只使用一个库

设置Redis能够使用的最大内存
maxmemory 512mb

日志文件,默认为空,不记录日志,可以指定日志文件名
logfile “redis.log”

在安装目录下,执行
redis-server redis.conf

查看是否启动成功
ps -ef | gref redis

杀死进程
kill -9 进程号

为了开启redis方便
开机自启
创建一个新文件

vi /etc/systemd/system/redis.service

添加内容:
image.png
内容如下:
[unit]
Description=redis-server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-7.2.4/redis.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

重载系统服务:

systemctl daemon-reload
此时redis正在被我们的系统管理

启动redis:

systemctl start redis

查看状态:

systemctl status redis

停止redis:

systemctl stop redis

重启redis:

systemctl restart redis

启动开机自启:

systemctl enable redis

redis客户端

位置 /usr/local/bin
redis命令行客户端
在我们安装redis 的时候已经安装了 redis-cli
启动:

redis-cli [option] [commonds]

常见的option

  1. -h redis连接的IP地址 127.0.0.1 不输入默认是本机地址
  2. -p 6379 :指定端口,不输入默认是6379
  3. -a 123321 : 指定密码

进入客户端不输入密码
使用命令输入密码

AUTH 123321

连接成功
输入ping 响应PONG 表示连接成功

默认使用的库是db0
可以简单的设置
set name john
set age 21
get name
get age

切换库 :select 库序号(0-15)

redis常见命令

基本类型:
String
Hash
List
Set
SortedSet
特殊类型:后面讲
GEO
BitMap
Hyperlog

官方文档: https://redis.io/
image.png
命令行方式查看通用命令文档
进入redis命令行客户端
help @generic

通用命令

常见命令 当个命令的使用范围是在一个库里面
KEYS 查看符合模板的所有key;不能在生产环境下使用,底层使用模糊查询,会导致redis阻塞
DEL 删除一个指定的key,可以一起删除多个key,删除成功返回对应删除的个数
EXISTS 判断key是否存在,可以批量查看;存在返回值大于0,不存在返回0
EXPIRE 给对应key添加过期时间,单位是秒
TTL 查看对应的key剩余的存在时间,返回值为-2表示已经不存在,返回值为大于0,表示仍然存在大于0秒的时间
image.png
image.png
当我们没有给键 设置过期时间,这个键就是永久的,使用ttl查看返回-1,表示的就是永久

数据结构

由于我的虚拟机不是使用超级管理员root登录的,而是自己创建的账号redis
进入超级管理员的命令是 su - 并且输入密码即可

全部可以通过帮助文档找到 help @string

String类型

string 类型的数据结构底层都是 字节数组
字符串类型的最大空间不能超过512m

string类型中,为了存储空间的容量,格式还分为string,integer,float
string是正常的字符串类型
integer和float是数值类型,数值类型有自增自减的功能

string类型的常用的命令:

  1. set:如果key存在,则是修改的功能
  2. get:获取
  3. mset:批量添加或者修改 k1 v1 k2 v2
  4. mget:批量获取
  5. incr:数值类型比如int,让一个整型key 自增1
  6. incrby:数值类型让一个整型的key 指定自增的值;实现自减,指定的值为负数即可
  7. incrbyfloat:浮点类型的数据进行 自增的操作,每次定义自增的步长
  8. setnx:相比于set不存在相同的数据,真正表示新增,如果key存在,不生效
  9. setex:新增并且添加有效期 参数:key seconds value

redis 操作的都是对key 进行操作,进而影响到value

key的层级格式

⭐问题:redis没有mysql表的概念,所有当我们进行不能数据的存储的时候,可能会出现冲突,比如id冲突
解决的方法
在redis中,key可以进行层级的命名 []:[]:[]
比如 公司:组名:键;或者是 【项目名】:【业务名】:【类型】:【id】
就可以实现分层次,不会产生冲突
image.png
key
user:name:1
value
{
“name”:“ylx”,
“age”:“21”
}
value 对于Java对象来说,可以将对象json化之后,就可以存储到redis中
image.png

hash类型

优点:对比string 如果values要进行修改,可以单独对value中其中一个field进行修改,而string没有办法进行对value中的值进行当个修改,更加灵活。
常见命令
image.png
hset 和 hmset 用法一致
image.png

image.png
总结:

  1. hset 命令和hmset 命令一样,可以为单个Key 批量添加多个 field和value
  2. hget 命令和 hmget命令则不是一样的,hget只能获取到一个字段,hmget可以批量获得
  3. hgetall 获取field和value;hkeys 获取field; hvals 获取value
  4. hsetnx 添加一个key 的 field字段,前提是这个field字段不存在,否则添加不成功

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

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

相关文章

第七届西湖论剑·中国杭州网络安全技能大赛 AI 回声海螺 WP

第七届西湖论剑中国杭州网络安全技能大赛-AI-回声海螺 开题,提示输入密码给FLAG。 这个回声海螺应该是个AI,就是复读机,应该是想办法从中骗出密码。 感觉这题不像是AI,也没用啥模型,应该是WEB。或者是说类似于AI的提示…

GLSL ES 1.0

GLSL ES 概述 写在前面 程序是大小写敏感的每一个语句都应该以英文分号结束一个shader必须包含一个main函数,该函数不接受任何参数,并且返回voidvoid main() { }数据值类型 GLSL支持三种数据类型: 整型浮点型:必须包含小数点&…

posix_memalign 与 malloc 对比

1. 原因原理 编程中的类型对齐问题主要是处于性能考虑,如果不做对齐,那么单个数据元素的访问很容易跨在多个时钟周期上,从而导致性能下降。 内建数据类型的对齐,是由编译器和C语言库的API实现中自动完成的,这对于用户是…

LeetCode-第876题-链表的中间结点

1.题目描述 给你单链表的头结点 head ,请你找出并返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。 2.样例描述 3.思路描述 创建两个快慢指针 slow , fast ,起始共同指向头节点,slow 每次走一步,fas…

LabVIEW双光子荧光显微成像系统开发

双光子显微成像是一种高级荧光显微技术,广泛用于生物学和医学研究,尤其是用于活体组织的深层成像。在双光子成像过程中,振镜(Galvo镜)扮演了非常关键的角色,它负责精确控制激光束在样本上的扫描路径。以下是…

leetcode9. 回文数|详细深入讲解算法

前往题目有 反转一半数字 思路 映入脑海的第一个想法是将数字转换为字符串,并检查字符串是否为回文。但是,这需要额外的非常量空间来创建问题描述中所不允许的字符串。 第二个想法是将数字本身反转,然后将反转后的数字与原始数字进行比较&…

总结:图像生成网络

1、最新的几款图像生成网络 eCNN 文献:Bahrami A, Karimian A, Fatemizadeh E, et al. A new deep convolutional neural network design with efficient learning capability: Application to CT image synthesis from MRI[J]. Medical physics, 2020, 47(10): 515…

EasyX图形库学习(一、窗口创建函数initgraph、背景颜色设置setbkcolor、图形绘制函数)

目录 一、easyX图形库基本介绍 1、easyX的原理 2、easyX的安装 3、easyX的颜色(RGB颜色模型) 颜色模型相关函数: 4、easyX的坐标 二、相关函数介绍: 绘图设备相关函数: 图形颜色及样式设置相关函数: 图形绘制相关函数: 文字输出相关…

ManageEngine推出云原生身份平台以解决劳动力IAM挑战

ManageEngine推出云原生身份平台以解决企业员工身份与访问管理(IAM)面临的挑战。该公司还为其本地身份治理和管理(IGA)解决方案添加了先进的安全功能。 IAM 内置通用目录可在企业应用程序之间集中管理用户身份,使用身…

如何使用Docker部署Nginx容器实现无公网ip远程访问本地服务

文章目录 1. 安装Docker2. 使用Docker拉取Nginx镜像3. 创建并启动Nginx容器4. 本地连接测试5. 公网远程访问本地Nginx5.1 内网穿透工具安装5.2 创建远程连接公网地址5.3 使用固定公网地址远程访问 在开发人员的工作中,公网远程访问内网是其必备的技术需求之一。对于…

CSS:三列布局

三列布局是指左右两列定宽&#xff0c;中间自适应。最终效果如下&#xff1a; HTML&#xff1a; <div class"container"><div class"left"></div><div class"center"></div><div class"right">…

jquery生成多个滑块,并对每个滑块做处理

基础滑块可以参考上一篇 eval(newThree).map((item, index) > { <div id"${uniqueId}" data-value"${item.text}" class"slider2"></div>$(document).ready(function () {for (let i 0; i < sliders.length; i)…

HTTP1.1、HTTP2、HTTP3

HTTP1.1 HTTP/1.1 相比 HTTP/1.0 性能上的改进&#xff1a; 使用长连接的方式改善了 HTTP/1.0 短连接造成的性能开销。支持管道&#xff08;pipeline&#xff09;网络传输&#xff0c;只要第一个请求发出去了&#xff0c;不必等其回来&#xff0c;就可以发第二个请求出去&…

Linux 服务器安装maven

1、压缩文件下载Maven – Download Apache Maven 2、解压 tar -xvf apache-maven-3.8.4-bin.tar.gz 3、配置环境变量 在/etc/profile中保存Maven的环境变量&#xff1a; export M2_HOME/opt/server/apache-maven-3.5.4 export PATH$PATH:$M2_HOME/bin 4、通过source生效文件 so…

如何将图片转化为png格式?图片转格式的方法步骤

png图片格式是一种无损图片格式&#xff0c;大多的设计工作者接触的比较多&#xff0c;平时我们在截图或者抠图的时候也都是png图片&#xff0c;那么如何将其他图片格式转换成png呢&#xff1f;不如试试小编分享的这款图片在线处理工具&#xff0c;不用下载安装&#xff0c;打开…

Scrum敏捷开发管理全流程-敏捷管理工具

Leangoo领歌是款永久免费的专业的敏捷开发管理工具&#xff0c;提供端到端敏捷研发管理解决方案&#xff0c;涵盖敏捷需求管理、任务协同、进展跟踪、统计度量等。 Leangoo领歌上手快、实施成本低&#xff0c;可帮助企业快速落地敏捷&#xff0c;提质增效、缩短周期、加速创新。…

春节假期旅游景点开放吗?春节提前做好出游待办计划更省心

春节的脚步越来越近了&#xff0c;那颗期待已久的心早已飞向了远方的风景。八天的小长假&#xff0c;对于很多人来说&#xff0c;是一次难得的出游机会。春节旅游&#xff0c;不仅可以欣赏到各地的美景&#xff0c;还能感受到浓浓的年味和不同的文化风情。 想象一下&#xff0…

​​​​​​​CleanMyMac X有什么优势?到底好不好用?

当你的Mac开始变得缓慢或者存储空间告急时&#xff0c;这通常是一个清理磁盘空间的信号。无论是工作文件、个人照片、还是各种应用程序&#xff0c;随着时间的推移&#xff0c;它们都可能在你的硬盘上积累了大量数据。有效地管理这些文件不仅可以提高你的工作效率&#xff0c;还…

Spring 多平台配置文件

前言 实际⼯作中,开发环境,测试环境以及⽣产环境的配置都是不⼀样的&#xff0c;⽐如 mysql 的⽤户名和密码&#xff0c; 我们可以针对不同的环境,设置不同的配置 详情 针对不同平台创建不同的配置⽂件,要求名字为 application-XXX.yml 或者 application-XXX.properties 以下以…

探索设计模式的魅力:设计之美-揭秘设计模式、原则与UML的魔法

设计模式专栏&#xff1a;http://t.csdnimg.cn/U54zu 目录 一、引言 二、设计模式与设计原则 设计模式 设计原则 三、面向对象设计原则 四、UML&#xff08;统一建模语言&#xff09; 4.1 UML是什么 UML是一种语言 UML是一种建模语言 UML是一种图形化语言 4.2 UML有什么 4.…