Redis服务

目录

1、介绍

1、redis的特点:

2、缓存

2、安装Redis

1、安装单机版redis

2、redis-cli命令参数

3、redis的增删查改命令

4、redis的相关工具


1、介绍

redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库

redis的官网:redis.io 注:域名后缀io属于国家域名,是british Indian Ocean territory,即英属印度洋领地

1、redis的特点:

1.丰富的数据结构  -----string,list,set,zset,hash等数据结构的存储
2.支持持久化
3.支持事务   ---------------事务是指“一个完整的动作,要么全部执行,要么什么也没有做”。
4.支持主从

2、缓存

1.类型1).数据缓存 2).页面缓存(Smarty) 
在开发网站的时候如果有一些数据在短时间之内不会发生变化,而它们还要被频繁访问,为了提高用户的请求速度和降低网站的负载,就把这些数据放到一个读取速度更快的介质上(或者是通过较少的计算量就可以获得该数据) ,该行为就称作对该数据的缓存。 
该介质可以是文件、数据库、内存,内存经常用于数据缓存
​
2.形式
页面缓存经常用在内存管理系统里边 
数据缓存经常用在页面的具体数据里边 
​
redis和memcache比较 1).Redis不仅仅支持简单的Key-Value类型的数据,同时还提供了list,set,zset,hash等数据结构的存储 2).Redis支持master-slave(主-从)模式应用 3).Redis支持数据的持久化

2、安装Redis

1、安装单机版redis

[root@localhost ~]# wget http://download.redis.io/releases/redis-5.0.10.tar.gz   #下载redis
[root@localhost ~]# tar xzf redis-5.0.10.tar.gz -C /usr/local                 #解压
[root@localhost ~]# cd /usr/local/
[root@localhost local]# mv redis-5.0.10/ redis
[root@localhost local]# cd redis/
[root@localhost redis]# yum install -y gcc make                               #安装编译工具
[root@localhost redis]# make
注:如果报错请将刚才解压的安装包删除掉,再次重新解压并进行make安装即可。[root@localhost redis]# /usr/local/redis/src/redis-server #启动命令,即redis-server,这种用不习惯可以参照下面得配置systemctl启动。
#配置简单方式管理命令
[root@localhost ~]# vim /etc/profile   #配置文件末尾加入下述环境变量得配置
PATH="/usr/local/redis/src:$PATH"
[root@localhost ~]# source /etc/profile  #重新加载系统全局配置文件
#测试使用管理redis命令
[root@localhost ~]# redis-server
 
#以下为自定义参数和配置systemctl启动方式等
[root@localhost ~]# cd /usr/local/redis
[root@localhost redis]# cp redis.conf redis.conf.bak    #备份配置文件
[root@localhost redis]# vim redis.conf         #修改如下
bind 127.0.0.1                   #Redis 服务器监听的网络接口地址
daemonize yes                  #开启后台模式将on改为yes
timeout 300                   #连接超时时间
port 6379                          #端口号
dir /data/application/redis/data  #本地数据库存放持久化数据的目录该目录-----需要存在
pidfile /var/run/redis_6379.pid   #定义pid文件
logfile /var/log/redis.log        #定义log文件
daemonize yes                      #启动后自动放到后台
requirepass 1234                    #设置密码为1234              
#创建存放数据的目录
[root@redis-master redis]# mkdir -p /data/application/redis/data#配置redis为systemctl启动
[root@redis-master redis]# cd /lib/systemd/system
[root@redis-master system]# vim redis.service
[Unit]
Description=Redis
After=network.target[Service]
ExecStart=/usr/local/redis/src/redis-server /usr/local/redis/redis.conf  --daemonize no
ExecStop=/usr/local/redis/src/redis-cli -h 127.0.0.1 -p 6379 shutdown[Install]
WantedBy=multi-user.target=====================
参数详解:
• [Unit] 表示这是基础信息 
• Description 是描述
• After 是在那个服务后面启动,一般是网络服务启动后启动• [Service] 表示这里是服务信息 
• ExecStart 是启动服务的命令
• ExecStop 是停止服务的指令• [Install] 表示这是是安装相关信息 
• WantedBy 是以哪种方式启动:multi-user.target表明当系统以多用户方式(默认的运行级别)启动时,这个服务需要被自动运行。
===================
启动服务:
[root@localhost system]# systemctl daemon-reload
[root@localhost system]# systemctl start redis.service

本次我们没有使用systemctl得形式启动,而是配置环境变量,这样使用redis命令更方便

2、redis-cli命令参数

redis-cli 是 Redis 提供的命令行工具,用于与 Redis 服务器进行交互。它支持多种参数来控制连接方式、执行命令以及显示输出等。以下是常用的 redis-cli 参数:

  1. 连接参数

    • -h <hostname>:指定连接的 Redis 服务器主机名或 IP 地址。
    • -p <port>:指定连接的 Redis 服务器端口号,默认为 6379。
    • -a <password>:指定连接的 Redis 服务器密码。如果 Redis 服务器设置了密码保护,需要使用该参数提供密码进行连接。
    • -s <socket>:指定连接的 Unix 套接字文件路径。适用于本地连接 Unix 套接字的情况。
  2. 交互和显示参数

    • -n <db-number>:选择 Redis 数据库的编号,默认为 0。Redis 支持多个数据库,通过编号区分。
    • --raw:以原始格式显示回复内容,不进行任何格式化处理。
    • -r <repeat>:指定重试连接次数,默认为 10 次。
    • --csv:以 CSV 格式显示输出。
  3. 输入输出参数

    • -i <file>:从指定文件中读取命令,并将其发送到 Redis 服务器执行。
    • -x:从标准输入读取命令,并将其发送到 Redis 服务器执行。适合于管道和脚本操作。
  4. 其他参数

    • -v--version:显示 redis-cli 的版本信息。
    • -h--help:显示帮助信息,列出所有可用的 redis-cli 参数和选项。

登录数据库

#启动redis
redis-server redis.conf
或
redis-server redis.conf &      #这个命令是因为配置文件中没有配置打开daemonize yes这个是启动后自动放到后台得参数#关闭redis
redis-cli -h 192.168.226.21 SHUTDOWN   #如何有密码需要-a指定密码,-p指定定义得端口
[root@localhost redis]# redis-cli -h 192.168.226.21 -p 6379 -a 1234 
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
192.168.226.21:6379> ping                 
PONG
192.168.226.21:6379> set name newrain     #设置key--name,并设置值
OK
192.168.226.21:6379> get name             #获取到key
"newrain"
192.168.226.21:6379> 单机版redis已经部署完成。将ip和端口发给开发就可以了。

3、redis的增删查改命令

  • 增加(添加)操作

    • 设置键值对(Set)
      SET key value
      这个命令用于设置指定键的值为给定的字符串值。
  • 删除操作

    • 删除键(Delete)
      DEL key [key ...]
      这个命令用于删除一个或多个指定的键。
  • 查询操作

    • 获取键的值(Get)
      GET key
      这个命令用于获取指定键的值。
  • 修改操作

    • 更新键的值(Set)
      SET key new_value
      这个命令可以用于更新现有键的值,或者用于设置新的键值对。
  • 其他相关操作

    • 检查键是否存在(Exists)

      EXISTS key

      这个命令用于检查指定的键是否存在于 Redis 中。

    • 设置键的过期时间(Expire)

      EXPIRE key seconds

      这个命令用于为指定键设置过期时间,单位为秒。过期时间到期后,键会自动被删除。

4、redis的相关工具

./redis-benchmark     #用于进行redis性能测试的工具 
./redis-check-dump    #用于修复出问题的dump.rdb文件   
./redis-cli           #redis的客户端
./redis-server        #redis的服务端
./redis-check-aof     #用于修复出问题的AOF文件
./redis-sentinel      #用于集群管理

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

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

相关文章

密码学及其应用——专用名词(英语版)

一般术语 1. 密码学 - cryptography 2. 算法 - algorithm 3. 密码系统 - cryptosystem 加密和解密 4. 加密 - encryption 5. 解密 - decryption 6. 加密密钥 - encryption key 7. 解密密钥 - decryption key 8. 数据加密 - data encryption 9. 流密码 - stream ciphe…

摄影师危!AI绘画即将降维打击摄影行业

你还以为AI绘画影响的只是插画师行业吗&#xff1f;错了&#xff0c;摄影行业也即将面临技术洗牌 话不多说&#xff0c;先看一下这几张图 你能一眼看出这是AI画的迪丽热巴吗&#xff1f; 你是不是还以为AI绘画只能画点动漫艺术风格&#xff1f;那你就低估了AI的发展速度&…

java中 前后端不分离的的方法 如何做api接口请求

在传统的Java Web开发中&#xff0c;前后端通常是不分离的&#xff0c;即前端页面和后端API服务是在同一个项目中进行开发和部署的。在这种情况下&#xff0c;我们可以使用Servlet来处理前端的请求&#xff0c;并返回相应的数据。 在本文中&#xff0c;我们将以一个简单的示例…

react开发嵌入react-monaco-editor代码编辑器的方法

Next.js中使用react开发嵌入react-monaco-editor代码编辑器的方法&#xff08;支持语法高亮&#xff09; 安装 (base) PS D:\ai-ui> npm install react-monaco-editoradded 1 package, changed 1 package, and audited 1030 packages in 6s273 packages are looking for f…

《数字图像处理》实验报告五

一、实验任务与要求 实现一个自适应局部降噪滤波器&#xff1b;在一幅测试版图像中加入运动模糊和高斯噪声&#xff0c;产生一幅退化图像&#xff0c;采用 deconvwnr 函数实现逆滤波及维纳滤波。 二、实验报告 &#xff08;一&#xff09;实现一个自适应局部降噪滤波器 1、自…

ajax请求接口不设置请求头可以请求成功,但是设置请求头之后就跨域,已解决

遇到这个问题我们不要着急找后端&#xff0c;先通过控制台看看有没有报错&#xff0c;控制台的列表是不会有这个红色报错的&#xff0c;所以我们要看下图&#xff1a; 点击这个红色&#xff0c;然后在下面会出现一些信息 很明显是这个请求头timestamp的请求头被屏蔽了&#xff…

Linux C语言程序中线程本地存储变量的内存分配和使用

在多线程中&#xff0c;有一种叫线程本地存储&#xff08;Thread-Local Storage&#xff0c;TLS&#xff09;的变量&#xff0c;它是每个线程有且只有一份自己的副本&#xff0c;对于这个线程来说&#xff0c;它是全局变量&#xff0c;可被所有函数共用&#xff1b;因为每个线程…

单机、集群和分布式

目录 1.概述 2.单机服务器 单机版的服务器的性能&#xff0c;设计上的瓶颈&#xff1f; 3.集群 解决瓶颈1&#xff1a; 没有解决瓶颈2&#xff1a; 没有解决瓶颈3&#xff1a; 集群的优点&#xff1f; 集群的缺点&#xff1f; 4.分布式 分布式的优点&#xff1f; 分…

c++笔记提高效率-emplace函数

在C中&#xff0c;标准库容器的emplace方法是一种高效的插入操作&#xff0c;用于在容器中直接构造元素。与insert和push方法相比&#xff0c;emplace方法可以避免不必要的复制或移动操作&#xff0c;因为它直接在容器内部构造元素。下面详细介绍各容器的emplace方法及其用法。…

java常用类(2)

目录 1.String概述 1.1 字符串的不变性 1.2 创建String对象两种方式的区别 1.3 字符串中的构造方法 1.4 字符串判断功能的方法 1.5 字符串获取功能的方法 1.6 字符串转换功能的方法 1.7 字符串替换功能的方法 2.StringBuffer 2.1 构造方法 2.2 插入方法 2.2.1 app…

a-table单元格指定合并以及表格双击编辑以及未填写指定验证功能

文章目录 a-table单元格指定合并以及表格双击编辑以及未填写指定验证功能一、 a-table单元格指定合并1. a-table2. columns3. 图例 二、a-table 表格双击编辑以及未填写验证1. a-table2. js3. 图例 a-table单元格指定合并以及表格双击编辑以及未填写指定验证功能 一、 a-table…

从零开始精通Onvif之加密与认证

&#x1f4a1; 如果想阅读最新的文章&#xff0c;或者有技术问题需要交流和沟通&#xff0c;可搜索并关注微信公众号“希望睿智”。 概述 安全是Onvif规范的核心部分&#xff0c;它涵盖了加密和认证两大领域。在Onvif标准下&#xff0c;安全措施主要包括&#xff1a;设备访问控…

大模型AI技术实现语言规范练习

人工智能技术可以为语言规范练习提供多种有效的解决方案&#xff0c;帮助学习者更有效地掌握语言规范。以下是一些常见的应用场景。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1. 智能纠错 利用自然语言处理技术&#xff0c;可以…

DC/AC电源模块一种效率与可靠性兼备的能源转换解决方案

DC/AC电源模块都是一种效率与可靠性兼备的能源转换解决方案 DC/AC电源模块是一种能够将直流电源&#xff08;DC&#xff09;转换为交流电源&#xff08;AC&#xff09;的设备。它在现代电子设备中扮演着非常重要的角色&#xff0c;因为许多设备需要交流电源才能正常运行。无论…

树形结构的勾选、取消勾选、删除、清空已选、回显、禁用

树形结构的勾选、取消勾选、删除、清空已选、回显、禁用 基本页面&#xff1a; 分为上传文件和编辑的页面 代码实现要点&#xff1a; 上传文件页面&#xff1a; 点开选择范围弹窗&#xff0c;三个radio单选框都为可选状态&#xff0c;默认显示的是第一个单选框&#xff08;按…

开源C++版AI画图大模型框架stable-diffusion.cpp开发使用初体验

stable-diffusion.cpp是一个C编写的轻量级开源类AIGC大模型框架&#xff0c;可以支持在消费级普通设备上本地部署运行大模型进行AI画图&#xff0c;以及作为依赖库集成的到应用程序中提供类似于网页版stable-diffusion的功能。 以下基于stable-diffusion.cpp的源码利用C api来…

人工智能的未来:畅想智能新时代

人工智能正在改变我们的世界&#xff0c;它将带我们走向何方&#xff1f; 著名神经科学家、Numenta 公司创始人杰夫•霍金斯 Jeff Hawkins 在其著作《人工智能的未来》中&#xff0c;描绘了一幅人工智能发展的光明图景。他认为&#xff0c;人工智能将超越人类智能&#xff0c;…

理解Gobrs-Async相对于CompletableFuture的优势

Gobrs-Async框架针对复杂应用场景下的异步任务编排&#xff0c;提供了一些传统Future或CompletableFuture所不具备的特性和能力&#xff0c;以下是它能够解决的问题和相对于CompletableFuture的优势&#xff1a; 1. **全链路异常回调**&#xff1a; - Gobrs-Async允许为任务…

关于地图点击的操作

_this.map.dragging.disable(); //地图拖拽 _this.map.doubleClickZoom.disable(); //禁止双击放大地图 _this.map.scrollWheelZoom.disable(); //禁止鼠标滑轮滚动放大缩小地图 _this.map.dragging.enable(); //e…

备份和镜像TrinityCore

相比重新安装&#xff0c;省去了编译的过程&#xff0c;同时还能保留以前的人物、装备等。 注意&#xff0c;若不想重新编译安装&#xff0c;则需要创建一样的目录、账户等&#xff0c;以减少不必要的麻烦。 首先备份数据: mysql备份和导入方法见&#xff1a;使用dump备份my…