Redis从0到1
· 阅读需 31 分钟
Redis应⽤场景
1.缓存-键过期
把session数据缓存在redis⾥,过期删除
换⽤⽤户信息,缓存mysql部分的数据,⽤户先访问redis,如果redis没命中,在访问mysql,
然后回写给redis
商城优惠卷过期
短信验证码过期
2.排⾏榜-列表&有序集合
热度/点击量
直播间礼物打赏排⾏榜
3.计数器-天然计数器
帖⼦浏览数
视频播放次数
评论次数
点赞/点踩
4.社交⽹络-集合
粉丝
共同好友/可能认识的⼈
兴趣爱好/标签
5.消息队列
ELK缓存⽇志
聊天记录
Redis的安装部署
1.Redis官⽹
https://redis.io/download
2.版本选择
2.x ⾮常⽼
3.x 主流 redis-cluster
4.x 混合持久化
5.x 最新稳定版 新增加了流处理类型
3.规划⽬录
/data/soft 下载⽬录
/opt/redis_6379/{conf,logs,pid} 安装⽬录,⽇志⽬录,pid⽬录,配置⽬录
/data/redis_6379/ 数据⽬录
4.安装命令
mkdir /data/soft -p
cd /data/soft/
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
tar zxf redis-5.0.7.tar.gz -C /opt/
cd /opt
ln -s /opt/redis-5.0.7 /opt/redis
cd /opt/redis
make
make install
5.编写配置⽂ 件
mkdir -p /opt/redis_6379/{conf,logs,pid}
mkdir -p /data/redis_6379
cat >/opt/redis_6379/conf/redis_6379.conf<<EOF
daemonize yes
bind 127.0.0.1 10.0.0.51
port 6379
pidfile /opt/redis_6379/pid/redis_6379.pid
logfile /opt/redis_6379/logs/redis_6379.log
EOF
6.启动命令
redis-server /opt/redis_6379/conf/redis_6379.conf
7.检查
ps -ef|grep redis
netstat -lntup|grep 6379
8.连接 redis
[root@db01 ~]# redis-cli
127.0.0.1:6379> set k1 v1
OK
127.0.0.1:6379> get k1
"v1"
127.0.0.1:6379>
9.关闭命令
第⼀种:
[root@db01 ~]# redis-cli
127.0.0.1:6379> SHUTDOWN
第⼆种:
[root@db01 ~]# redis-cli shutdown
第三种:
kill
pkill
10.system 启动配置
groupadd redis -g 1000
useradd redis -u 1000 -g 1000 -M -s /sbin/nologin
chown -R redis:redis /opt/redis*
chown -R redis:redis /data/redis*
cat >/usr/lib/systemd/system/redis.service<<EOF
[Unit]
Description=Redis persistent key-value database
After=network.target
After=network-online.target
Wants=network-online.target
[Service]
ExecStart=/usr/local/bin/redis-server /opt/redis_6379/conf/redis_6379.conf
--supervised systemd
ExecStop=/usr/local/bin/redis-cli shutdown
Type=notify
User=redis
Group=redis
RuntimeDirectory=redis
RuntimeDirectoryMode=0755
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl start redis
Redis全局命令
1.Redis 数据格式
key:value
键:值
2.写⼊测试命令
set k1 v1
set k2 v2
set k3 v3
3.查看所有的**key-**注意!!!此操作未满18岁,请在⽗⺟陪同下操 作!!!
线上⽣产禁⽌执⾏!!!
keys *
4.查看有多少个key
DBSIZE
5.查看某个key是否存在
EXISTS k1
状态码:
0: 表示这个key不存在
1: 表示这个key存在
N: 表示有N个key存在