Day——01 Redis 入门



1 背景

我们现在的项目架构中,基本上是Web服务器(Tomcat)和数据库独立部署,独占服务器资源,随着用户数的增长,并发读写数据库,会加大数据库访问压力,导致性能的下降,严重时直接导致系统宕机,例如:
在这里插入图片描述
此时,我们可以在Tomcat同服务器上中增加本地缓存,并在外部增加分布式缓存,缓存热门数据。也就是通过缓存能把绝大多数请求在读写数据库前拦截掉,大大降低数据库压力。例如:
在这里插入图片描述
基于这样的一种架构设计,于是类似redis的一些分布式数据库就诞生了。

2 Redis 概述

Redis 是典型的 NoSQL 数据库。

Redis 是一个开源的 key-value 存储系统。

和 Memcached 类似,它支持存储的 value 类型相对更多,
 包括 string、list、set、zset、sorted set、hash。

这些数据类型都支持 push/pop、add/remove 及取交集并集和差集及更丰富的操作,
而且这些操作都是原子性的。

在此基础上,Redis 支持各种不同方式的排序。

与 memcached一样,为了保证效率,数据都是缓存在内存中。

区别的是 Redis 会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件。

并且在此基础上实现了master-slave (主从)同步。

3 版本及参考说明

Redis的次版本号(第一个小数点后的数字)为偶数的版本是稳定版本(2.4、2.6等),奇数为非稳定版本(2.5、2.7),一般推荐在生产环境使用稳定版本。最新版本6.2.2,新增了stream的处理方式,性能更高。Redis官方是不支持windows平台的,windows版本是由微软自己建立的分支,基于官方的Redis源码上进行编译、发布、维护的,所以windows平台的Redis版本要略低于官方版本。

Redis 相关参考网址如下所示:

Bootnb 相关:https://www.runoob.com/redis/redis-tutorial.html
Redis 官网:https://redis.io/
源码地址:https://github.com/redis/redis
Redis 在线测试:http://try.redis.io/
Redis 命令参考:http://doc.redisfans.com/

4 应用场景

高频次,热门访问的数据,降低数据库 IO。

 分布式架构,做 session 共享。

在这里插入图片描述
多样的数据结构存储持久化数据
在这里插入图片描述

5 使用docker安装 redis

5.1 安装步骤

第一步:下载镜像文件

docker pull redis

第二步:准备配置文件

创建redis配置文件目录

mkdir -p /usr/local/docker/redis01/conf

在配置文件录下创建redis.conf配置文件(这个文件一定要创建,否在我们进行目录挂载时默认生成的是一个目录)

touch /usr/local/docker/redis01/conf/redis.conf

第三步:创建redis实例并启动

sudo docker run -p 6379:6379 --name redis01 \
-v /usr/local/docker/redis01/data:/data \
-v /usr/local/docker/redis01/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf 

第四步:查看正在运行的进程

docker ps

5.2 访问redis服务器

第一步:控制台直接连接redis测试

docker exec -it redis01 bash

第二步:检测redis 版本

redis-server  -v

或者

redis-cli -v

第三步:登录redis(默认不需要密码)

redis-cli

或者直接将上面的两个步骤合为一个步骤执行也可以,指令如下:

docker exec -it redis01 redis-cli

5.3 停止和启动redis服务

停止redis服务?

docker stop redis01

启动redis服务?

docker start redis01

重启 redis 服务?

docker restart redis01

6 Redis初始操作

6.1 启动redis服务

Docker 环境下的启动(docker环境启动多个需要运行多个容器):

1  docker start redis01 #底层也是通过redis-server启动,start单词后的redis01为容器名

1 docker 中查看redis 服务

1 docker ps 

2 查看启动的redis进程信息

ps -ef|grep redis
root      3511     1  0 16:29 ?   00:00:01 redis-server *:6379
root      3515     1  0 16:29 ?   00:00:01 redis-server 127.0.0.1:6380

6.2 进入redis容器

docker exec -it redis01 bash #redis01 为容器名

6.3 登陆redis服务

登陆本地redis
redis-cli
或者
redis-cli -p 6379
或者
redis-cli -p 6379 -a  password #-a后面为password,此操作需要开启redis.conf文件中的 requirepass选项
登陆远程redis
redis-cli  -h ip  -p 6379  -a  password

6.4 查看redis信息

首先登陆redis,然后输入info指令,例如

127.0.0.1:6379> info		#查看当前redis节点的详细配置信息

6.5 清空redis屏幕

清除redis屏幕内容
127.0.0.1:6379> clear

6.6 退出redis服务

退出redis服务,例如
127.0.0.1:6379> exit

6.7 关闭redis服务

关闭redis服务,例如:

127.0.0.1:6379> shutdown

6.8系统帮助

可以基于help指令查看相关指令帮助,例如

127.0.0.1:6379> help
redis-cli 2.8.19
Type: "help @<group>" to get a list of commands in <group>
      "help <command>" for help on <command>
      "help <tab>" to get a list of possible help topics
      "quit" to exit
127.0.0.1:6379> help type

  TYPE key
  summary: Determine the type stored at key
  since: 1.0.0
  group: generic

7 key操作

keys *:查看当前库所有 key

exists key:判断某个 key 是否存在

type key:查看你的 key 是什么类型

del key :删除指定的 key 数据

unlink key:根据 value 选择非阻塞删除,仅将 keys 从 keyspace 元数据中
			删除,真正的删除会在后续异步操作

expire key 10 :为给定的 key 设置过期时间

ttl key:查看还有多少秒过期,-1表示永不过期,-2表示已过期

select:命令切换数据库

dbsize:查看当前数据库的 key 的数量

flushdb:清空当前库

flushall:通杀全部库
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值