Redis-命令操作Redis

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: Redis-命令操作Redis

                                                  🎬 艳艳耶✌️:个人主页

                                                 🔥 个人专栏 :《Spring与Mybatis集成整合》《Vue.js使用》

                                                  ⛺️ 越努力 ,越幸运。


1.Redis简介

1.1.什么是Redis

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

1.2.Redis与传统数据库的区别主要

数据存储方式:Redis是基于内存的存储系统,数据存储在内存中,因此读写速度非常快。而传统数据库则是基于磁盘的存储系统,数据存储在磁盘上。虽然磁盘存储容量较大,但读写速度相对较慢。

数据结构:Redis支持多种数据类型,如字符串、哈希、列表等,因此可以灵活地存储和操作不同形式的数据。而传统数据库则需要在表结构设计时就确定好数据类型和结构,存储和操作时受限较多。

持久化方式:Redis提供了多种持久化方式,包括RDB和AOF两种方式,可以实现数据的备份和恢复。而传统数据库则通常采用关系型数据库(如MySQL)的事务ACID机制来保证数据一致性和持久化。

分布式能力:Redis通过分片和集群等方式提供了分布式能力,可以将数据分散到多个节点中进行存储和查询,提高了系统的可扩展性和可用性。而传统数据库则需要通过主从复制或者分库分表等方式来实现分布式存储。

2.Redis的安装

2.1.解压安装包

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

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

2.2.安装acc环境

yum install gcc

2.3.编译Redis

进入Redis目录:cd redis-5.0.0

编译:make

2.4.检查安装情况

make install

2.5.启动Redis服务

./src/redis-server redis.conf

出现以下界面时,就是安装完成了

退出命令

ctrl+c

3.配置守护线程

3.1 备份配置文件

cp redis.conf  redis.conf.bak

3.2 编辑配置文件

vim redis.conf

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

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

修改后记得重启一下服务

4.连接Redis

4.1 连接

./src/redis-cli

验证是否连接成功

ping

当出现pong时说明连接成功

4.2查看端口状态

lsof -i:端口号

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

lsof -i 6379

 

停止当前端口进程

kill -9 进程id

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

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

4.3 扩大客户端访问限制

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

4.4 设置Redis密码

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

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

5.开放6379端口

5.1 开放端口

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

5.2 刷新防火墙规则

firewall-cmd --reload

6.连接客户端

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

先开启服务

连接客户端

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

连接使用

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

7.常用命令

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

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

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

7.4.Redis集合(Set)

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

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

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

# exists key                              #是否存在
exists hobby

7.5.其他操作

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

 

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
1月前
|
NoSQL Redis 数据库
10- 你们用过Redis的事务吗 ? 事务的命令有哪些 ?
```markdown Redis事务包括MULTI、EXEC、DISCARD、WATCH四个命令。虽具备事务功能,但在实际开发中使用较少。 ```
41 7
|
1月前
|
NoSQL Redis 数据库
Redis的全局命令及相关误区
Redis的全局命令及相关误区
24 0
|
1月前
|
存储 缓存 NoSQL
深入了解Redis键管理:探索Redis键命令及其功能与应用场景
深入了解Redis键管理:探索Redis键命令及其功能与应用场景
|
1月前
|
NoSQL Redis 数据库
Redis中的常用命令有哪些?
Redis常用命令包括:PING测试连接,ECHO回显,SELECT切换数据库,QUIT关闭连接;KEYS查找key,EXISTS检查存在,DEL删除key,EXPIRE设置过期时间,TTL查看剩余生存时间,TYPE检测数据类型;STRING操作如SET/GET/MSET/MGET,INCR/DECR增减计数;HASH命令如HSET/HGET/HMSET/HMGET/HGETALL管理字段;LIST操作如LPUSH/RPUSH/LPOP/RPOP/LRANGE;
13 0
|
1天前
|
存储 NoSQL Redis
Redis基础命令集详解
Redis基础命令集详解
8 1
|
1天前
|
存储 NoSQL Redis
Redis 常用命令
Redis 常用命令
8 0
|
2天前
|
存储 NoSQL Redis
深入浅出Redis(零):Redis常用命令的使用
深入浅出Redis(零):Redis常用命令的使用
|
2天前
|
存储 NoSQL 关系型数据库
深入浅出Redis(十二):Redis的排序命令Sort
深入浅出Redis(十二):Redis的排序命令Sort
|
3天前
|
NoSQL Linux Redis
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
17 0
|
7天前
|
存储 NoSQL 定位技术
Redis常用数据类型及常用命令
这些是Redis中常用的数据类型和命令。Redis还提供了许多其他命令和功能,用于数据存储、操作和查询。你可以根据需要选择适当的数据类型和命令来满足你的应用程序需求。
21 4