【服务器】Redis的安装及使用命令(Linux、Windows版)

目录

一、Redis简介

二、Redis安装

1、Linux版

1.1、下载

1.2、导入

1.3、解压

1.4、安装

1.5、修改文件

1.6、启动redis

1.7、测试

1.8、结束进程

1.9、修改密码访问

1.10、安装客户端工具&连接

2、Windows版

2.1、下载

2.2、安装

2.3、修改

2.4、连接

三、Redis命令

1、相关命令

2、常用命令

2.1、五大字符串(string)

2.2、Redis哈希(Hash)

2.3、Redis列表(List)

2.4、Redis集合(Set)


一、Redis简介

Redis(Remote Dictionary Server)是一个开源(BSD许可)的、基于内存的数据结构存储系统,它可以用作数据库、缓存和消息中间件。Redis支持多种数据结构,包括字符串、哈希表、列表、集合、有序集合等,这些数据结构可以通过丰富的命令集进行操作。

与传统数据库系统相比,Redis具有较高的性能和可扩展性。它将数据存储在内存中,因此可以实现很低的读写延迟,并能够处理高并发的请求。此外,Redis还支持数据的持久化,可以将内存中的数据定期保存到磁盘上,以防止数据丢失。

Redis还具有一些其他的特性,如发布订阅机制、事务支持、键过期等。它还提供了一些附加功能,如实时统计数据、分布式锁等,使得它在各种应用场景中都得到广泛应用。

总而言之,言而总之,Redis是一个高性能、灵活且易于使用的数据存储系统,适用于需要快速读写操作和高并发访问的场景,比如缓存、会话管理、消息队列等。

二、Redis安装

1、Linux版

1.1、下载

首选找到我们的官网进行版本选中下载 |雷迪斯 (redis.io)。

1.2、导入

打开Linux系统我们把安装包导入进去。

1.3、解压

解压到我们的redis

命令:tar -xvf redis-5.0.0.tar.gz

1.4、安装

进入解压好的文件里面进行安装。安装:make

等待安装完成,我们检测安装情况:make install

1.5、修改文件

修改redis.conf文件,在修改文件之前我们先进行一个备份,防止更改错误:cp redis.conf redis_bak.conf

修改redis.conf命令:vim redis.conf

daemonize no 改为 daemonize yes

1.6、启动redis

启动我们的redis :./src/redis-server redis.conf

再查看我们的redis端口启动没有:lsof -i:6379

如图我们是已经开启了

1.7、测试

测试redis启动是否成功

命令:./redis-cli
命令:ping

1.8、结束进程

使用命令:kill -9  PID 结束进程

1.9、修改密码访问

以上为无密码链接,修改为有密码,并且进行外部访问

修改redis.conf吻技安

注释bind 127.0.0.1

修改requirepass 123456

设置端口之前记得确保防火墙是开启状态

命令1:firewall-cmd --zone=public --add-port=6379/tcp --permanent
命令2:firewall-cmd --reload && firewall-cmd --list-port

重新连接

  1. 重启:./src/redis-server redis.conf
  2. 查看是否开启端口:lsof -i:6379
  3. 登录:./src/redis-cli -h 127.0.0.1 -p 6379 -a 123456
    1. -h:host     主机
    2. -p:prot     端口号
    3. -a:authentication      权限密码
  4. 命令:ping

1.10、安装客户端工具&连接

在主机安装客户端工具RedisInsight | The Best Redis GUI。进行下载安装.

2、Windows版

2.1、下载

首选找到我们的官网进行版本选中下载 |雷迪斯 (redis.io)。

2.2、安装

解压下载文件,编写文件把一下代码放进去更改后缀为bat文件

cd Redis-x64-3.2.100 #进入解压文件
redis-server redis.windows.conf #安装

双击bat文件

安装完成

2.3、修改

修改redis.windows.conf文件

注释bind 127.0.0.1

修改requirepass 123456

2.4、连接

三、Redis命令

1、相关命令

ping : 检测连接是否存活
echo: 在命令行打印一些内容
quit、exit: 退出客户端
shutdown: 退出服务器端
info: 返回redis相关信息
config get dir/* 实时传递接收的请求
showlog: 显示慢查询
select n: 切换到数据库n,redis默认有16个数据库(DB 0~DB 15),默认使用的第0个
dbsize: 查看当前数据库大小
move key n: 不同数据库之间数据是不能互通的,move移动键到指定数据库
flushdb: 清空当前数据库中的键值对。
flushall: 清空所有数据库的键值对。

2、常用命令

2.1、五大字符串(string)

  • set key value: 设置一个key的value值
  • setnx key value: 仅当key不存在时进行set
  • setex key seconds value: set 键值对并设置过期时间
  • mset key value [key value …] 设置多个key value
  • msetnx key1 value1 [key2 value2…] 批量设置键值对,仅当参数中所有的key都不存在时执行,原子性操作,一起成功,一起失败
  • get key: 返回key的value
  • mget key [key …] 批量获取多个key保存的值
  • exists key [key …]: 查询一个key是否存在
  • decr/incr key: 将指定key的value数值进行+1/-1(仅对于数字)
  • incrby/decrbyB key n: 按指定的步长对数值进行加减
  • incrbyfloat key n: 为数值加上浮点型数值
  • append key value: 向指定的key的value后追加字符串
  • strlen key: 返回key的string类型value的长度。
  • getset key value: 设置一个key的value,并获取设置前的值,如果不存在则返回null
  • setrange key offset value: 设置指定位置的字符
  • getrange key start end: 获取存储在key上的值的一个子字符串
  • type key:string 说明type返回的是键值对存储类型,而不是值存储类型

2.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

2.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开始,同时先进后出

2.4、Redis集合(Set)

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

# sadd key value1 [value2]                #向集合添加一个或多个元素
sadd hobby lanqiu zuqiu bingpangqiu zhuoqiu# scard key                               #获取集合中的元素数量
scard hobby# exists key                              #是否存在
exists hobby


 

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

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

相关文章

大数据与健康:技术助力医疗卫生事业腾飞

大数据与健康:技术助力医疗卫生事业腾飞 随着科技的飞速发展,大数据技术已经渗透到我们生活的方方面面,包括医疗卫生领域。本文将对大数据在健康医疗领域的应用进行分析,并通过数据图表展示其发展趋势和前景。 一、背景介绍 近…

【计算机网络】运输层

概述运输层服务 运输层协议为运行在不同主机上的应用程序提供了逻辑通信功能。 运输层协议是在端系统中而不是在路由器中实现的。 运输层和网络层的关系: 网络层提供主机之间的逻辑通信,而运输层为**运行在不同主机上的应用程序(进程&#…

Express框架开发接口之轮播图API

1.获取所有轮播图、 // 处理轮播图 const handleDB require(../handleDB/index) // 获取所有轮播图 exports.allCarousel (req, res) > {(async function () {let results await handleDB(res, "book_carousel", "find", "查询数据出错&#xf…

Qt Creator创建新项目警告问题

这里可以看见如果你是一些高版本会出现各种警告,但是可以编译通过,这是ClangCodeModel模块导致 解决办法 help -> About Plugins..->C ->ClangCodeModel 帮助 -> 关于插件 -> c ->ClangCodeModel取消勾选 然后重启Qt即可

Java多线程----创建线程、线程池ExecutorService、异步编排

文章目录 创建线程的四种方式方式一、继承Thread方式二、自定义实现Runnable接口方式三、Thread FutureTask Callable返回值方式四、线程池ThreadPoolExecutor 线程池的简单介绍通过ThreadPoolExecutor创建自定义线程池ThreadPoolExecutor创建线程池的7大参数线程池处理任务的…

CSS3网页布局基础

CSS布局始于第2个版本,CSS 2.1把布局分为3种模型:常规流、浮动、绝对定位。CSS 3推出更多布局方案:多列布局、弹性盒、模板层、网格定位、网格层、浮动盒等。本章重点介绍CSS 2.1标准的3种布局模型,它们获得所有浏览器的全面、一致…

信息泄露--

大唐电信AC简介 大唐电信科技股份有限公司是电信科学技术研究院(大唐电信科技产业集团)控股的的高科技企业,大唐电信已形成集成电路设计、软件与应用、终端设计、移动互联网四大产业板块。 大唐电信AC集中管理平台存在弱口令及敏感信息泄漏漏…

【使用Python编写游戏辅助工具】第一篇:概述

引言 欢迎阅读本系列文章,本系列将带领读者朋友们使用Python来实现一个简单而有趣的游戏辅助工具。 写这个系列的缘由源自笔者玩了一款游戏。正巧,笔者对Python编程算是有一定的熟悉,且Python语言具备实现各种有趣功能的能力,因…

Vue 事件绑定 和 修饰符

目录 一、事件绑定 1.简介 : 2.实例 : 二、修饰符 1.简介 : 2.实例 : 3.扩展 : 一、事件绑定 1.简介 : (1) 在Vue中,通过"v-on:事件名"可以绑定事件,eg : v-on:click表示绑定点击事件。 (2) 触发事件时调用的方法,定义在Vu…

右击文件或者文件夹使用vscode打开

平常我们在打开项目时,经常会需要快捷打开方式,直接使右键使用编辑器打开,但是有时在安装时忘记了选择 “Add “Open with Code” action to Windows Explorer file context menu” 在Windows资源管理器文件上下文菜单中添加“用代码打开”操…

1360. 日期之间隔几天

1360. 日期之间隔几天 Java代码: 【DateFormat】DateFormat用于实现日期的格式化 import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; // 好像已过时class Solution {public int daysBet…

docker打包container成image,然后将image上传到docker hub

第一步&#xff1a;停止正在运行的容器 docker stop <container_name> eg: docker stop xuanjie_mlir 第二步&#xff1a;将对应的container打包成image docker commit <container_id> <镜像名&#xff1a;版本> eg&#xff1a;docker commit 005672e6d97a…