Redis-命令操作Redis

目录

一,Redis简介

核心存储键值对:String,list,hash,set,zset(sort set)

 二,Linux上安装redis

1.将Redis的压缩包放入客户端的存储文件夹中

 解压压缩包

 下载Redis运行所需要的gcc环境

进入redis的解压目录,执行命令 make

修改redis为守护进程

 启动redis

测试外界是否可以连接,是什么缘由?

1.端口未开放

2.redis.conf未配置完全(运行远程连接)

三,redis的常用命令

Redis字符串(String)

Redis哈希(Hash)

 Redis列表(List)

 Redis集合(Set)


本篇博客主要介绍redis的核心知识,如果没有需要的内容的话可以去redis的学习网址自行学习:

https://www.w3cschool.cn/redis/

一,Redis简介

核心存储键值对:String,list,hash,set,zset(sort set)

作用:提升程序运行的效率

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

   学习网址:https://www.w3cschool.cn/redis/
   www.redis.cn
   www.redis.net.cn
   
Redis用途:1. 数据库 2. 缓存
集群:哨兵、主从、分片式   

NoSql数据库:redis,echcache,mongodb

        是直接通过键值对的方式取值,数据之间不存在关系

Sql数据库:SQLserver,Oracle,MySql

        通过查询表的方式获取数据

    
#下载
redis-5.0.0.tar.gz(linux)
Redis-x64-3.2.100.msi(window安装版)
Redis-x64-3.2.100.zip(window解压版)

 二,Linux上安装redis

1.将Redis的压缩包放入客户端的存储文件夹中

Redis-命令操作Redis_第1张图片

 解压压缩包

Redis-命令操作Redis_第2张图片

 下载Redis运行所需要的gcc环境

yun install gcc

这也是Redis与tomcat最大的不同 tomcat并不需要

下载中途需要输入Y确定你的操作

Redis-命令操作Redis_第3张图片

 Redis-命令操作Redis_第4张图片 

进入redis的解压目录,执行命令 make

进入解压目录 cd /redis-5.0.0

编译指令 make

检验指令 make install

Redis-命令操作Redis_第5张图片

耗时有点久,要耐心等待, 当出现黄色字体就差不多了

Redis-命令操作Redis_第6张图片

 输入ll 可以看到其中有两个重要的文件 redis.conf和src

Redis-命令操作Redis_第7张图片

 进入src也有两个重要文件  redis-cli和redis-server

Redis-命令操作Redis_第8张图片

 然后我们看看没有进行下一步 修改为守护进程时启动redis是个什么情况

启动redis命令,在解压包目录下的src/redis-server

./src/redis-server

 启动后我们发现已经不能在输入其他指令了,这样有影响我们的其他操作,所以我们要将它修改为守护进程 现在只能只能Ctr+C 终止redis运行

lsof -i:6379 查看正在使用的端口  

Redis-命令操作Redis_第9张图片

修改redis为守护进程

为了防止修改出现问题,我们先将文件备份

cp redis.conf redis(目标文件).conf.bar20221030(备份的名)

修改:将daemonize no 改为 daemonize yes

Redis-命令操作Redis_第10张图片

  然后我们可以进入快捷目录下直接去编辑redis.conf文件

Redis-命令操作Redis_第11张图片

 但是如果没有这种快捷方式怎么办呢?而且那个需要修改的地方又太难找到了?

教大家一个小技巧

输入指令 vi redis.conf进入编辑页面,然后直接输入/(斜杠加上)需要寻找的地方存在的关键字,我们要将将daemonize no 改为 daemonize yes

(当链接工具不能直接打开文件编辑:那么需要通过 /+"查询关键字" 快速定位单词所在的位置)

那我们就直接 输入/daemon再回车即可找到对应的位置

Redis-命令操作Redis_第12张图片

 跳转

Redis-命令操作Redis_第13张图片

 找到了所输入的关键字,然后可以在附近查找一下所需要修改的地方,或者我们一开始输入完整的字段就行了

点击insert开始编辑,修改为yes 再esc退出  输入:wq 为保存 :q!为不保存

Redis-命令操作Redis_第14张图片

 启动redis

在redis解压包的目录下执行以下指令

启动redis
./redis-server ../redis.conf

测试redis启动是否成功
./redis-cli
ping

select (index)代表可以切换数据库之类的操作

Redis-命令操作Redis_第15张图片

测试外界是否可以连接,是什么缘由?

1.端口未开放

#开放端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
#跟新防火墙规则
firewall-cmd --reload
#防火墙列表
firewall-cmd --zone=public --list-ports
#防火墙状态
systemctl status firewalld
#启动防火墙
systemctl start firewalld
#关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service

Redis-命令操作Redis_第16张图片

2.redis.conf未配置完全(运行远程连接)

注释:bind 127.0.0.1

vim redis.conf 进入配置文件

不需要点击insert,输入 /bind 127.0.0.1 回车(如果没有找到 bind 127.0.0.1 可以按“n”键搜索到下一个关键字)

注释掉:bind 127.0.0.1(在前面添加#号)

按esc键,进入下一步同样的操作

 修改:requirepass 123456

不用insert 直接输入/requirepass回车找到下图位置,并将#号删除,输入root密码,esc键后输入 :wq 保存并退出

Redis-命令操作Redis_第17张图片

lsof -i:6379查看进程

kill -9 +进程ip 结束进程

./src/redis-server redis.conf 开启进程

 Redis-命令操作Redis_第18张图片Redis-命令操作Redis_第19张图片

客户端redis-cli链接redis,重新测试

./src/redis-cli -h 127.0.0.1 -p 6379 -a 123456
ping

三,redis的常用命令

        注意:redis中的常用命令就是开发过程中,所有调用redis api中的方法

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

 set name zs

Redis-命令操作Redis_第20张图片 

 查看数据

Redis-命令操作Redis_第21张图片

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

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

 Redis集合(Set)

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

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

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

# exists key                              #是否存在
exists hobby

 有序集合(sort set)

https://www.w3cschool.cn/redis/redis-sorted-sets.html

你可能感兴趣的:(redis,数据库,java)