当前位置:网站首页>我的Redis整理

我的Redis整理

2022-07-22 18:06:00 虎刀蛇邪

Redis简介

Redis安装

  • CentOS
  • Docker
  • windows
  • Redis的图形化界面

CentOS安装

位置
/usr/local/src/redis-6.2.6
在这里插入图片描述
启动进入Redis目录下的src目录

  • 启动服务端
./redis-server

在这里插入图片描述

  • 启动客户端
./redis-cli -p 6379

Redis配置文件Redis conf

  • redis位置就在redis安装目录下
    在这里插入图片描述

配置 Redis 为后台服务 将配置文件中的 daemonize no 改成 daemonize yes,配置 redis 为后台启动。

Redis 设置访问密码 在配置文件中找到 requirepass,去掉前面的注释,并修改后面的密码。

常用配置文件例子 redis.conf

#默认端口6379
port 6379
#绑定ip,如果是内网可以直接绑定 127.0.0.1, 或者忽略, 0.0.0.0是外网、注释掉连接外网
# bind 0.0.0.0
#守护进程启动
daemonize yes
#超时
timeout 300
loglevel notice
#分区
databases 16
save 900 1
save 300 10
save 60 10000
rdbcompression yes
#存储文件
dbfilename dump.rdb
#密码 abcd123
requirepass abcd123

在redis安装目录下,以redis.conf配置文件进行启动

./redis.conf

DOCKER运行redis

1、拉取redis镜像

docker pull redis

复制
2、创建挂载目录

mkdir /docker-data/redis

复制
3、下载redis.conf文件

wget http://download.redis.io/redis-stable/redis.conf

复制
4、权限

chmod 777 redis.conf

复制
5、修改默认配置信息

vi /docker-data/redis/redis.conf
bind 127.0.0.1 # 这行要注释掉,解除本地连接限制
protected-mode no # 默认yes,如果设置为yes,则只允许在本机的回环连接,其他机器无法连接。
daemonize no # 默认no 为不守护进程模式,docker部署不需要改为yes,docker run -d本身就是后台启动,不然会冲突
requirepass 123456 # 设置密码
appendonly yes # 持久化

6、docker启动redis

docker run --name redis \
-p 6379:6379 \
-v /docker-data/redis/redis.conf:/etc/redis/redis.conf \
-v /docker-data/redis:/data \
-d redis redis-server /etc/redis/redis.conf --appendonly yes

说明:

-p 6379:6379:端口映射,前面是宿主机,后面是容器。
–name redis:指定该容器名称。
-v 挂载文件或目录:前面是宿主机,后面是容器。
-d redis redis-server /etc/redis/redis.conf:表示后台启动redis,以配置文件启动redis,加载容器内的conf文件。
appendonly yes:开启redis 持久化。
7、检查redis运行状态

docker ps

8、启动

Redis的基本使用

命令

redis-server命令 – 启动Redis服务程序
[root@linuxcool ~]# redis-server /etc/myredis.conf --loglevel verbose

常用数据结构

String类型

String类型,也就是字符串类型,是Redis中最简单的存储类型。其value是字符串,不过根据字符串的格式不同,又可以分为3类:

  • string:普通字符串
  • int:整数类型,可以做自增、自减操作
  • float:浮点类型,可以做自增、自减操作

List

Redis中的List类型与Java中的LinkedList类似,可以看做是一个双向链表结构。既可以支持正向检索和也可以支持反向检索。特征也与LinkedList类似:

  • 有序
  • 元素可以重复
  • 插入和删除快
  • 查询速度一般
  • 常用来存储一个有序数据,例如:朋友圈点赞列表,评论列表等

Set

Redis的Set结构与Java中的HashSet类似,可以看做是一个value为null的HashMap。因为也是一个hash表,因此具备与HashSet类似的特征:

  • 无序
  • 元素不可重复
  • 查找快
  • 支持交集、并集、差集等功能

SortedSet

Redis的SortedSet是一个可排序的set集合,与Java中的TreeSet有些类似,但底层数据结构却差别很大。SortedSet中的每一个元素都带有一个score属性,可以基于score属性对元素排序,底层的实现是一个跳表(SkipList)加 hash表。
SortedSet具备下列特性:

  • 可排序
  • 元素不重复
  • 查询速度快
  • 因为SortedSet的可排序特性,经常被用来实现排行榜这样的功能。

Hash类型

Hash类型,也叫散列,其value是一个无序字典,类似于Java中的HashMap结构。
String结构是将对象序列化为JSON字符串后存储,当需要修改对象某个字段时很不方便:
Hash结构可以将对象中的每个字段独立存储,可以针对单个字段做CRUD

127.0.0.1:6379> HMSET runoob field1 "Hello" field2 "World"
OK
127.0.0.1:6379> HGET runoob field1
"Hello"
127.0.0.1:6379> HGET runoob field2
"World"
127.0.0.1:6379>

Redis事务

Redis发布订阅

Java操作Redis

Redis整合SpringBoot

实用-瑞吉外卖中的缓存

SpringData

SpringCache

主从复制

Redis缓存穿透和雪崩

何谓缓存穿透,高并发访问,缓存重建业务毕竟复杂的key失效了
在这里插入图片描述
解决方法

  • 互斥锁
  • 逻辑过期
    在这里插入图片描述
原网站

版权声明
本文为[虎刀蛇邪]所创,转载请带上原文链接,感谢
https://blog.csdn.net/m0_46179147/article/details/125722791