非关系型数据库Redis的安装【Linux】及常用命令

news/2024/9/28 11:12:46 标签: nosql, redis, 数据库, 持续部署, linux

前言

 Redis(Remote Dictionary Server)是一种开源的内存数据库管理系统,它以键值存储方式来存储数据,并且支持多种数据结构,如字符串、哈希、列表、集合、有序集合等。Redis最初由Salvatore Sanfilippo开发,并于2009年首次发布。它被广泛用于缓存、会话管理、消息队列等应用,因为它具有非常快速的读取和写入速度,以及丰富的功能集

一.Redis的安装

百度网盘资源提取链接放在下方,包含Redis及后续使用的可视化工具

链接:https://pan.baidu.com/s/1XiGP2K5QnvfkVR92SUf97w 
提取码:YUCT

1.解压安装包

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

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

2.安装acc环境 

yum install gcc

 3.编译Redis

进入Redis目录:cd redis-5.0.0

编译:make

 4.检查安装情况

make install

 5.启动Redis服务

./src/redis-server redis.conf 

当出现以下界面时,说明安装完成了 

 退出命令

ctrl+c

6.配置守护线程 

6.1 备份配置文件

cp redis.conf  redis.conf.bak

 6.2 编辑配置文件

vim redis.conf

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

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

修改后记得重启一下服务 

7.连接Redis

7.1 连接

./src/redis-cli

验证是否连接成功

ping 

当出现pong时说明连接成功 

 

7.2 查看端口状态

lsof -i:端口号

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

lsof -i 6379
 

停止当前端口进程

 kill -9 进程id

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

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

7.3 扩大客户端访问限制

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

 7.4 设置Redis密码

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

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

 

最后保存并退出

8.开放6379端口

8.1 开放端口

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

 8.2 刷新防火墙规则

firewall-cmd --reload

9.连接客户端

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

先开启服务

连接客户端

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

连接使用

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

二.可视化工具

利用可视化工具在本机中连接Linux中的Redis,资源安装包已经放在顶部的网盘分享链接中,可以自行提取

1.创建连接

安装完成后点击下方创建与Redis的连接

根据要求填写好自己的ip地址和端口号以及自己的密码

 点击左下角的连接测试显示当前提示说明连接成功了

三.常用命令

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

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

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

4.Redis集合(Set)

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

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

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

# exists key                              #是否存在
exists hobby

5.其他操作

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

http://www.niftyadmin.cn/n/5146417.html

相关文章

面试经典150题——Day29

文章目录 一、题目二、题解 一、题目 15. 3Sum Given an integer array nums, return all the triplets [nums[i], nums[j], nums[k]] such that i ! j, i ! k, and j ! k, and nums[i] nums[j] nums[k] 0. Notice that the solution set must not contain duplicate tri…

C#,数值计算——求解一组m维线性Volterra方程组的计算方法与源程序

1 文本格式 using System; namespace Legalsoft.Truffer { /// <summary> /// 求解一组m维线性Volterra方程组 /// Solves a set of m linear Volterra equations of the second kind using the /// extended trapezoidal rule.On input, t0 is the st…

centos7部署nginx

CentOS7安装Nginx-1.16.1稳定版 小白教程&#xff0c;一看就会&#xff0c;一做就成。 1.安装依赖环境 yum -y install gcc gcc-c automake pcre pcre-devel zlib zlib-devel openssl openssl-devel 2.下载安装包&#xff08;不能联网的不行&#xff09;&#xff0c;可以留言…

力扣第1049题 最后一块石头的重量Il c++ 动态规划(01背包)

题目 1049. 最后一块石头的重量 II 中等 相关标签 有一堆石头&#xff0c;用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合&#xff0c;从中选出任意两块石头&#xff0c;然后将它们一起粉碎。假设石头的重量分别为 x 和 y&#xff0c;且 x <…

纯CSS实现卡片上绘制透明圆孔

<template><div class"dot-card-wrapper"><div class"top-wrapper"><slot name"top"></slot></div><!-->核心是下面这部分</--><div class"dot-row"><div class"left-…

【克隆方法+深浅拷贝】

文章目录 前言Clonable 接口克隆方法代码的实现 浅拷贝深拷贝总结 前言 Clonable 接口 克隆方法代码的实现 //1.当类要调用克隆方法时&#xff0c;这个类要实现一个Cloneable接口 class Student implements Cloneable{public String name;public int age;public Student(Str…

考前须知-11月软考机考

1、11月4-5日考试有几个时间点需注意&#xff1a; 考前40分钟&#xff0c;应试人员应到达准考证上所指定的考点&#xff0c;凭本人准考证和有效证件&#xff08;居民身份证、社会保障卡、港澳台居民身份证明、外籍人员护照、外国人永久居留证明&#xff09;原件进入进入本资格…

数组基础知识二

特别说明 一维数组的定义&#xff08;对数组空间进行清理&#xff0c;置0&#xff0c;不会产生随机值&#xff09;&#xff1a;数组在使用前要先定义&#xff1b;告诉编译器数组元素的类型&#xff1b;编译器会给这个数组预先分配连续的存储空间&#xff1b;定义的格式为&…