【Redis】Redis在Linux与windows上的安装基本操作语法

一、Redis简介

Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。

Redis 与其他 key - value 缓存产品有以下三个特点:

  • Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list(列表),set(集合),zset(有序集合),hash(哈希表)等数据结构的存储。
  • Redis支持数据的备份,即master-slave(主从模式)模式的数据备份。

 zset原为sorted set。为了避免sorted set简写sset导致命令冲突,所以改为zset。同理例如class-->clazz

Redis与其他key-value存储有什么不同?

  • Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。
  • Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,应为数据量不能大于硬件内存。在内存数据库方面的另一个优点是, 相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。 同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。

二,Redis下载安装

2.1下载地址:

https://github.com/tporadowski/redis/releases

2.2Linux安装Redis

在我们之前使用的mobaxterm上连接的Linux管理中去解压压缩文件:

 tar -zxvf redis-5.0.0.tar.gz

2.3解压后执行安装gcc

  yum install gcc

2.4.编译Redis

进入解压后的文件夹执行编译Redis

make && make install

2.5.修改Redis为守护进程

什么是守护进程?
守护进程就是我们启动Redis之后还能输入命令,如果我们不设置守护进程你就会发行我们启动Redis之后无法输入其他的命令了

使用我们Linux快速查找命令:

:/daemonize

修改redis.conf文件将daemonize no 改为 daemonize yes

2.6.启动Redis服务

/src/redis-server redis.conf

       通过查看是否能够连接本地客户端来验证:

./src/redis-cli

输入一个ping 连接成功会自动返回一个pong,如果不返回就失败了

        

2.7.配置密码且外部连接

执行完第六步我们会发现我们连接Redis不要密码!且只能本地连接外部连接连接不上,所以我们需要继续配置。

修改redis.conf注文件中的内容:注释掉bind 127.0.0.1这行语句并修改requirepass 123456

2.8.重启服务器

首先kill -9 进程pid 关闭启动的进程ip

杀死进程

kill -9 pid

查询进程

 lsof -i:6379

启动redis.conf的新配置   

 ./src/redis-server redis.conf

2.9.开放Redis端口号

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

2.10.redismanagerl连接测试 

已经连接成功!!!

我们的Linux安装Redis就全部完成了!!!

三、Windos安装Redis

3.1.解压安装包

在bat中编写

cd Redis-x64-3.2.100
redis-server redis.windows.conf

启动bat文件

四、Redis基本操作语法


首先我们启动Redis服务与本地客户端连接

因为我们加入了守护进程,所以要带密码和用户端口连接
-h(主机ip)-p(端口) -a(密码)

输入ping:有个PONG说明登录成功,否则要看看密码。

接下来小编从常用的字符串、哈希表、列表分别来介绍一些常用方法,没有介绍的大家都可以查看上面分享的学习网址,里面人家都有官方的。

4.1.字符串(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

4.2.哈希(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

4.3.列表(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开始,同时先进后出

4.4.集合(Set)

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

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

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

# exists key                              #是否存在
exists hobby

除了以上命令,Redis还提供了一些其他的集合命令,如SMOVE、SSCAN等,用于集合的移动和集合的扫描等操作。

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

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

相关文章

如何设置OBS虚拟摄像头给钉钉视频会议使用

环境: OBS Studio 29.1.3 Win10 专业版 钉钉7.1.0 问题描述: 如何设置OBS虚拟摄像头给钉钉视频会议使用 解决方案: 1.打开OBS 底下来源这添加视频采集设备 选择OBS虚拟摄像头 2.源那再建一个图像,随便选一张图片 3.点击虚…

与AI对话的艺术:如何优化Prompt以获得更好的响应反馈

前言 在当今数字化时代,人工智能系统已经成为我们生活的一部分。我们可以在智能助手、聊天机器人、搜索引擎等各种场合与AI进行对话。然而,要获得有益的回应,我们需要学会与AI进行有效的沟通,这就涉及到如何编写好的Prompt。 与…

【论文导读】-Vertically Federated Graph Neural Network for Privacy-Preserving Node Classification纵向联邦图神经网络

文章目录 论文信息摘要主要贡献vertically federated GNN (VFGNN)执行过程1. 生成初始节点嵌入2. 生成局部节点嵌入3. 生成全局节点嵌入4. 采用DP增强隐私 论文信息 原文地址:https://www.ijcai.org/proceedings/2022/0272.pdf 摘要 Graph Neural Network (GNN) has…

MySQL复习总结(一):基础篇

文章目录 一、MySQL概述二、SQL语句2.1 SQL分类2.2 DDL语言2.2.1 数据库操作2.2.2 表操作:通用2.2.3 表操作:修改2.2.4 表操作:删除 2.3 DML语言2.3.1 添加数据2.3.2 修改数据2.3.3 删除数据 2.4 DQL语言2.5 DCL语言 三、函数四、约束五、多表查询5.1 多表关系 六、事务6.1 事务…

Draft-P802.11be-D3.2协议学习__$9-Frame-Format__$9.3.1.22-Trigger-frame-format

Draft-P802.11be-D3.2协议学习__$9-Frame-Format__$9.3.1.22-Trigger-frame-format 9.3.1.22.1 Genreal9.3.1.22.2 Common Info field9.3.1.22.3 Special User Info field9.3.1.22.4 HE variant User Info field9.3.1.22.5 EHT variant User Info field9.3.1.22.6 Basic Trigge…

迷宫问题的对比实验研究

对不同的迷宫进行算法问题,分别采用栈、队列、基于红黑树的A*算法、以及图论中的最短路径来解决迷宫问题。 基本要求: (1) 从文件读入9*9的迷宫,设置入口和出口,分别采用以上方法,输出从入口到出…

pytorch+LSTM实现使用单参数预测,以及多参数预测(代码注释版)

开发前准备: 环境管理:Anaconda python: 3.8 显卡:NVIDIA3060 pytorch: 到官网选择conda版本,使用的是CUDA11.8 编译器: PyCharm 简述: 本次使用seaborn库中的flights数据集来做试验,我们通过…

(附源码)基于SSM 车险事故自助理赔小程序-计算机毕设 84607

车险事故自助理赔小程序 摘要 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,车险事故自助理赔小程序被用户普遍…

tolua中table.remove怎么删除表中符合条件的数据

tolua中table.remove怎么删除表中符合条件的数据 介绍问题(错误方式删除数据)正确删除方案从后向前删除递归方式删除插入新表方式 拓展一下总结 介绍 在lua中删除表中符合条件的数据其实很简单,但是有一个顺序问题,因为lua的表中…

Cygwin一个在 Windows 操作系统上提供类似于Unix、Linux 环境的兼容层项目

一、简介 Cygwin 是一个在 Windows 操作系统上提供类似于 Unix/Linux 环境的兼容层的开源项目。它为 Windows 用户提供了一种在 Windows 平台上运行类 Unix 程序的方式。 Cygwin 提供了一组工具和库,包括一个动态链接库(cygwin1.dll)和一个用…

Stable Diffusion 的提示词使用技巧

推荐Stable Diffusion自动纹理工具: DreamTexture.js自动纹理化开发包 什么是提示语? 提示语是人工智能中的一个重要组成部分,尤其是自然语言处理 (NLP)。在AI自人工智能中,想要获得好的效果,简…

SpringBoot开发组件总结

大家好,今天学习了SpringBoot中间件开发,在学习后总结记录下。 在开发的过程中,把一些公共的非业务的代码提炼出来,做成一个公用的组件,减少开发成本和风险,今天学习的是一个白名单控制组件,记…