Redis-命令操作Redis

news2024/11/8 2:42:19

                                                   🎬 艳艳耶✌️:个人主页

                                                  🔥 个人专栏 :《Spring与Mybatis集成整合》《Vue.js使用》

                                                   ⛺️ 越努力 ,越幸运。

1.Redis简介

1.1.什么是Redis

     Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区

1.2.Redis与传统数据库的区别主要

数据存储方式:Redis是基于内存的存储系统,数据存储在内存中,因此读写速度非常快。而传统数据库则是基于磁盘的存储系统,数据存储在磁盘上。虽然磁盘存储容量较大,但读写速度相对较慢。

数据结构:Redis支持多种数据类型,如字符串、哈希、列表等,因此可以灵活地存储和操作不同形式的数据。而传统数据库则需要在表结构设计时就确定好数据类型和结构,存储和操作时受限较多。

持久化方式:Redis提供了多种持久化方式,包括RDB和AOF两种方式,可以实现数据的备份和恢复。而传统数据库则通常采用关系型数据库(如MySQL)的事务ACID机制来保证数据一致性和持久化。

分布式能力:Redis通过分片和集群等方式提供了分布式能力,可以将数据分散到多个节点中进行存储和查询,提高了系统的可扩展性和可用性。而传统数据库则需要通过主从复制或者分库分表等方式来实现分布式存储。

2.Redis的安装

2.1.解压安装包

利用工具MobaXterm将资源安装包放到安装目录中,然后进入到当前安装目录中并执行以下命令进行安装

tar -zxvf redis-5.0.0.tar.gz -C /usr/local/

2.2.安装acc环境 

yum install gcc

 2.3.编译Redis

进入Redis目录:cd redis-5.0.0

编译:make

 2.4.检查安装情况

make install

 2.5.启动Redis服务

./src/redis-server redis.conf 

出现以下界面时,就是安装完成了 

 退出命令

ctrl+c

3.配置守护线程 

3.1 备份配置文件

cp redis.conf  redis.conf.bak

 3.2 编辑配置文件

vim redis.conf

 找到daemonize配置选项,将后面的no修改为yes

点击i键进行修改,修改完成后点击Esc退出然后输入:wq保存并退出

修改后记得重启一下服务 

4.连接Redis

4.1 连接

./src/redis-cli

验证是否连接成功

ping 

当出现pong时说明连接成功 

 4.2查看端口状态

lsof -i:端口号

我们输入redis的端口号查看端口状态

lsof -i 6379
 

停止当前端口进程

 kill -9 进程id

 图中的17712就是我们的进程id

注意:在修改一些常用配置时,如果开启了服务和端口进程我们需要将端口和我们的进程停止,在修改后重新启动才可以生效

4.3 扩大客户端访问限制

 找到没有被注释的bind 127.0.0.1在前面加上#注释,解除连接限制

 4.4 设置Redis密码

接着,在当前文件中,找到requirepass

将前面的#删除,后面设置自己的密码 

5.开放6379端口

5.1 开放端口

firewall-cmd --zone=public --add-port=6379/tcp --permanent

5.2 刷新防火墙规则

firewall-cmd --reload

6.连接客户端

利用命令连接客户端使用Redis

先开启服务

连接客户端

./src/redis-cli -h 127.0.0.1 -p 6379 -a 自己设置的密码

连接使用

 输入ping返回pong时说明连接成功

7.常用命令 

7.1.Redis字符串(String)

# set key          //保存
set name zs
set age 12
set sex nan

# get key          //获取
get name

# type key         //查看类型
type age            //string 说明type返回的是键值对存储类型,而不是值存储类型

# keys *或keys key //查看所有或者指定的key
keys *

# SETEX KEY_NAME TIMEOUT VALUE  // 给键值对设置过期时间
setex zs 60 live

# ttl key   // 获取键值对剩余的存活时间
ttl zs

7.2.Redis哈希(Hash)

 Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。

# hset key field1 value1 [field2 value2]  #同时将多个field-value设置到哈希表key中
hset user name zs age 12 sex nv

# hget key field                          #获取指定的字段值
hget user age

# hdel key field                          #删除指定的字段值
hdel user age

# hgetall key                             #查询指定key的所有字段
hgetall user

# hexists key field                       #查询指定key中的字段是否存在
hexists user name

# hlen key                                #获取指定key中的长度
hlen user

7.3.Redis列表(List)

Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)

# lpush key value1 value2 value3          #将一个或多个值插入到列表头部
lpush en a b c d e f g

# llen key                                #获取列表的长度
llen en

# lindex key index                        #根据索引获取列表中的元素
lindex en 1     #返回f,说明下标从0开始,同时先进后出

# lrange key start sop                    #查看指定范围内的元素
lrange en 1 3   #返回fed,说明下标从0开始,同时先进后出

7.4.Redis集合(Set)

Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。

# sadd key value1 [value2]                #向集合添加一个或多个元素
sadd hobby lanqiu zuqiu bingpangqiu zhuoqiu

# scard key                               #获取集合中的元素数量
scard hobby

# exists key                              #是否存在
exists hobby

7.5.其他操作

PING:测试连接是否存活。
SELECT index:切换到指定的数据库。
FLUSHDB:删除当前数据库中的所有键。
FLUSHALL:删除所有数据库中的所有键。
SAVE:同步保存数据到硬盘。
BGSAVE:异步保存数据到硬盘。

 

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

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

相关文章

费用预算管理系统

费用预算管理系统 1. 模块概述 《费用管理》以企业费用管理为核心,围绕费用支出审批流程,从费用发生前的事前申请,报销单据审批、付款单据审批,再到出纳付款、会计记账等所有工作流程都在系统中全员、协同完成;并且能…

el-table中的el-input标签修改值,但界面未更新,解决方法

el-table中的el-input标签修改值,界面未更新 在el-table中的el-input里面写的change事件根本不触发,都不打印,试了网络上各种方法都没用 然后换成input事件,input事件会触发,但界面也未更新。我在触发事件的时候&…

微信小程序之开发工具介绍

一、微信小程序开发工具下载 微信小程序开发工具下载可以参考这篇博客《微信小程序开发者工具下载-CSDN博客》 二、开发工具组成部分 如下图所示,开发者工具主要由菜单栏、工具栏、模拟器、编辑器和调试器 5 个部分组成。。 1、菜单栏 菜单栏中主要包括项目、文…

听GPT 讲Rust源代码--library/std(13)

题图来自 Decoding Rust: Everything You Need to Know About the Programming Language[1] File: rust/library/std/src/os/horizon/raw.rs 在Rust源代码中,rust/library/std/src/os/horizon/raw.rs这个文件的作用是为Rust的标准库提供与Horizon操作系统相关的原始…

STM32HAL-完全解耦面向对象思维的架构-时间轮片法使用(timeslice)

目录 概述 一、开发环境 二、STM32CubeMx配置 三、编码 四、运行结果 五、代码解释 六、总结 概述 timeslice是一个时间片轮询框架,完全解耦的时间片轮询框架,非常适合裸机单片机引用。接下来将该框架移植到stm32单片机运行,单片机…

王道计算机网络

一、计算机网络概述 (一)计算机网络基本概念 计算机网络的定义、组成与功能 定义:以能够相互共享资源的方式互连起来的自治计算机系统的集合。 目的:资源共享, 组成单元:自治、互不影响的计算机 网络协议 从不同角度计算机网络…

【Python入门二】安装第三方库(包)

安装第三方库/包 1 使用pip安装2 使用PyCharm软件安装3 离线安装,使用whl文件安装参考 在Python中,有多种安装第三方库的方法,下面是一些常用的方法: 1 使用pip安装 pip是Python中最常用的包管理工具,也是最常用的在线…

PASCAL VOC 格式

文章目录 ImageSets 文件夹Main 文件夹:Segmentation 文件夹:Layout 文件夹:Action 文件夹: Annotations 文件夹主要标签:物体标签: SegmentationClass 文件夹SegmentationObject 文件夹 PASCAL VOC(Visual Object Classes)是一个…

计算流体动力学(CFD)软件

CFD,英语全称 (Computational Fluid Dynamics),即计算流体动力学。CFD 是近代流体力学,数值数学和计算机科学结合的产物,是一门具有强大生命力的交叉科学。它是将流体力学的控制方程中积分、微分项近似地表示为离散的代…

ardupilot开发 --- 代码解析 篇

0. 前言 根据SITL的断点调试和自己阅读代码的一些理解,写一点自己的注释,有什么不恰当的地方请各位读者不吝赐教。 1. GCS::update_send 线程 主动向MavLink system发送消息包。 1.1 不断向地面站发送飞机状态数据 msg_attitude: msg_location: n…

MYSQL 多表联查详解

目录 一、一个案例引发的多表连接 二、笛卡尔积的错误和与正确的多表查询 2.1、笛卡尔积错误展示 2.2、笛卡尔积解决方法 2.3、练习 三、多表查询分类 3.1、等值连接 vs 非等值连接 3.2、自连接 vs 非自连接 3.3、内连接 vs 外连接 内连接(inner join&…

基于FPGA的图像RGB转CMYK实现,包含testbench和MATLAB辅助验证程序

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1、RGB转CMYK的原理 4.2、基于FPGA的实现方法 5.算法完整程序工程 1.算法运行效果图预览 将仿真结果导入到matlab中,得到如下对比结果: 2.算法运行软件版本 matl…

C++虚函数产生的多态

C虚函数产生的多态 1、先看下面代码&#xff0c;参考施雷老师课堂笔记 #include<iostream> #include<vector> #include <algorithm> #include <functional> using namespace std;/* 虚函数&#xff0c;静态绑定和动态绑定覆盖&#xff1a; 基类和派生…

Vue3 实现 clipboard 复制功能

一个很小的交互功能&#xff0c;网上搜了一下有一个 vue3-clipboard 直接支持vue3&#xff0c;到github仓库看了下&#xff0c;原作者已经不维护这个项目了&#xff1a; 推荐使用 vueuse 自带的 useclipboard 功能&#xff0c;由 vue 团队维护&#xff0c;稳定性基本没问题 官…

UDP服务端和客户端通信代码开发流程

一、UDP通信 TCP&#xff1a;传输控制协议&#xff0c;面向连接的&#xff0c;稳定的&#xff0c;可靠的&#xff0c;安全的数据集流传递 稳定和可靠:丢包重传 数据有序:序号和确认序号 流量控制:稳定窗口 UDP&#xff1a;用户数据报协议 面向无连接的,不稳定的,不可靠,不安…

数据链路层协议【MAC帧和ARP协议】

全文目录 以太网帧格式MAC地址MAC地址和IP地址对比理解 MTU定义&#xff1a;细节&#xff1a;为什么它重要&#xff1a; MTU对IP协议的影响MTU对TCP和UDP的影响 ARP协议ARP数据报的格式ARP协议的作用ARP协议的工作流程 以太网帧格式 定义: 以太网是一种数据链路层和物理层标准…

【机器学习】几种常用的机器学习调参方法

在机器学习中&#xff0c;模型的性能往往受到模型的超参数、数据的质量、特征选择等因素影响。其中&#xff0c;模型的超参数调整是模型优化中最重要的环节之一。超参数&#xff08;Hyperparameters&#xff09;在机器学习算法中需要人为设定&#xff0c;它们不能直接从训练数据…

儿童产品和婴儿产品上架亚马逊美国站CPC认证测试标准

婴儿橡皮奶嘴 (ASTM F963, EN 1400, AS 2432) 婴儿奶嘴夹 (EN 12586, BS EN 12586) 婴儿学步车 (ASTM F977, EN 1273, BS EN 1273) 婴儿背带 (ASTM F2236, EN 13209, BS EN 13209) 奶瓶奶嘴 (EN 14350, BS EN 14350) 家用双层床 (ASTM F1427, EN 747, BS EN 747, AS/NZS 4…

uni-app小程序使用vant

步骤一&#xff1a;安装 Vant Weapp # 通过 npm 安装 npm i vant/weapp -S --production# 通过 yarn 安装 yarn add vant/weapp --production# 安装 0.x 版本 npm i vant-weapp -S --production步骤二&#xff1a;在根目录下创建“wxcomponents”文件夹 步骤三&#xff1a;找…

win7中安装node14和vue

下载并安装低版本node 13 到官网去找早期历史版本的 nodejs 13 msi格式即可&#xff0c;并一键安装&#xff0c;我安装在了 D:\Program Files\nodejs 目录下 https://nodejs.org/download/release/v13.14.0/ 下载高版本node 14 下载高版本的node zip包 https://nodejs.org/…