Redis 简介与安装配置
1、含义
Redis(Remote Dictionary Server)由C语言开发的一款作为内存中的数据结构存储系统,它可以用作数据库,缓存和消息中间件。它的value支持多种类型的数据结,基本数据结构包括:字符串(strings)、散列(hashes)、列表(lists)、集合(sets)、有序集合(sorted set)五种
2、特点
- 内存数据库,速度快,也支持数据持久化
- Redis支持多种数据结构
- Redis支持数据的备份和集群分片存储,以及拥有哨兵监控机制
- 支持服务
3、优点
- 性能极高 - Redis能读的速度是110000次/s,写的速度是81000次/s
- 丰富的数据类型 - Redis支持string、Lists、hashes、sets、sorted sets 等数据类型操作
- 原子性操作 - Redis的所有操作都是原子性,同时Redis还支持对几个操作合并后的原子性执行
- 丰富特性 - 除了速度快、线程安全、持久化、多种数据结构、支持多种编辑语言、功能丰富、简单、主从复制、高可用、支持事务,还支持publish/subscribe,通知key过期
4、缺点
- 存储受内存大小限制
- 持久化时占用cpu较高
- 缓存和数据库双写一致性问题
- 缓存雪崩问题
- 缓存击穿问题
- 缓存的并发竞争问题
5、Redis和memcached的区别
- memcached支持简单数据类型,Redis数据类型丰富
- memcached不支持数据持久化存储,Redis支持数据磁盘持久化存储
- memcached不支持主从,Redis支持主从
- memcached不支持分片,Redis支持分片
- redis的速度比memcached快很多
- Memecache存储方式把数据全部存在内存之中,断电后会挂掉,数据不能超过内存大小。Redis有部份存在硬盘上,这样能保证数据的持久性
6、使用场景
会话缓存、全页缓存、队列、排行榜、计数器、发布/订阅
7、环境搭建
# 关闭防火墙,临时关闭:systemctl stop firewalld
systemctl disable --now firewalld
systemctl disable --now dnsmasq
systemctl disable --now NetworkManager
# 关闭selinux
setenforce 0
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
# 关闭分区
swapoff -a && sysctl -w vm.swappiness=0
sed -ri '/^[^#]*swap/s@^@#@' /etc/fstab
# 设置hosts
[root@redis-master]#
cat >> /etc/hosts << EOF
192.168.86.135 redis-master
EOF
# redis 6.x 的版本情况下执行命令
yum install -y centos-release-scl scl-utils-build
yum install -y devtoolset-9-toolchain
scl enable devtoolset-9 bash
yum install cpp binutils glibc-kernheaders glibc-common glibc-devel gcc make -y
cd /opt
wget https://download.redis.io/releases/redis-6.2.4.tar.gz
tar xvf redis-6.2.4.tar.gz
cd redis-6.2.4 && make
mkdir -p /usr/local/redis
make PREFIX=/usr/local/redis install
cp redis.conf /usr/local/redis
# 启动
cd /usr/local/redis
mkdir -p logs data
vim redis.conf
# 端口
port 6379
# 是否以守护进程的方式启动
daemonize yes
# bind 127.0.0.1
protected-mode yes
# 设置日志路径
logfile "/usr/local/redis/logs/redis_6379.log"
# 设置存储数据路径
dir /usr/local/redis/data
# 配置密码
requirepass 123456
:wq!
./bin/redis-server redis.conf
## 端口查看
netstat -lntp
# 退出
pkill redis
# 配置开机启动
vim /etc/systemd/system/redis.service
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
# 启动
systemctl daemon-reload && systemctl enable --now redis
# 客户端启动方式(支持中文)
[root@redis-master redis-6.2.4]# ./src/redis-cli -h 192.168.86.135 -p 6379 --raw
# 检查是否成功
192.168.86.135:6379> ping
PONG
8、推荐客户端工具
Redis Desktop Manager 2021.2
链接:https://pan.baidu.com/s/12WmBUnhnyPIwj2G1inVZfQ
提取码:b7s1

浙公网安备 33010602011771号