Redis安装部署
1.redis官网
https://redis.io/
2.版本选择
2.x very old
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 xf redis-5.0.7.tar.gz -C /opt/
ln -s /opt/redis-5.0.7 /opt/redis
cd /opt/redis
make
make install
5.配置文件
mkdir -p /opt/redis_6379/{conf,pid,logs}
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>
127.0.0.1:6379> set k1 v1
OK
127.0.0.1:6379> get k1
"v1"
127.0.0.1:6379>
9.关闭命令
kill
pkill
redis-cli
>SHUTDOWN
- redis-cli shutdown
10.system启动配置
groupadd -g 1000 redis
useradd -u 1000 -g 1000 -M -s /sbin/nologin
chown -R redis:redis /data/redis*
chown -R redis:redis /opt/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 /opt/redis_6379/conf/redis_6379.conf --supervised systemd
ExecStop=/usr/local/bin/redis-cli -h $(ifconfig eth0|awk 'NR==2{print $2}') -p 6379 shutdown
Type=notify
User=redis
Group=redis
RuntimeDirectory=redis
RuntimeDirectoryMode=0755
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl start redis
Redis全局命令
全局命令是指对所有数据类型都通用的命令
0.redis数据格式
key:value
键:值
1.写入测试key
set k1 v1
set k2 v2
set k3 v3
2.查看所有的key
!!!危险命令!!!此操作未满30岁禁止请在家人的看管下执行
keys *
3.查看有多少个key
DBSIZE
4.查看某个Key是否存在
EXISTS k1
状态码:
0 表示这个key不存在
1 表示这个key存在
N 表示存在N个key
5.删除key
DEL k1
DEL k1 k2
状态码:
0 表示这个key不存在
1 表示这个key存在,并且删除成功了
N 表示N个key存在,并且删除成功了N个key
6.键过期
设置过期时间
EXPIRE k1 10
状态码:
0 这个key不存在
1 这个key存在,并且设置过期时间成功
查看keys是否过期
TTL k1
状态码:
-1 这个key存在,并且没有设定存活周期,永不过期
-2 这个key不存在
N 这个key存在,并且在N秒后过期
取消过期时间:
第一种方法:
PERSIST k1
第二种方法:
set k1 v1
结论:
过期后的key会被直接删除
字符串操作
1.设置一个key
set k1 v1
2.查看一个key
get k1
3.设置多个key
MSET k1 v1 k2 v2 k3 v3 k4 v4
4.查看多个key
MGET k1 k2 k3 k4
5.天然计数器
加1:
SET k1 1
INCR k1
GET k1
加N:
INCRBY k1 100
减1:
INCRBY k1 -1
减N:
INCRBY k1 -100
列表操作
1.插入列表
LPUSH: 从列表左侧插入数据
RPUSH: 从列表右侧插入数据
2.查看列表长度
LLEN list1
3.查看列表内容
LRANGE list1 0 -1
4.删除列表元素
LPOP: 从列表左边删除一个元素
RPOP: 从列表右边删除一个元素
LPOP list1
RPOP list1
5.删除整个列表
DEL list1
hash操作
1.mysql数据如何缓存到redis
存储格式:
user
id name job age
1 bobo IT 28
2 json py 25
3 hao bug 26
hash类型存储格式:
key field value field value
user:1 name bobo job IT age 28
user:2 name json job py age 25
user:3 name hao job bug age 26
2.创建一个Hash数据
HMSET user:1 name bobo job IT age 28
HMSET user:2 name json job py age 29
HMSET user:3 name hao job bug age 19
3.查看hash里指定的值
select name from user where id =1 ;
HMGET user:1 name
HMGET user:1 name job age
4.查看Hash里所有的值
select * from user where id =1 ;
HGETALL user:1
集合操作 set
1.创建集合
SADD set1 1 2 3
SADD set2 1 3 5 7
2.查看集合成员
SMEMBERS set1
SMEMBERS set2
3.查看集合的交集
127.0.0.1:6379> SINTER set1 set2
1) "1"
2) "3"
4.查看集合的并集
127.0.0.1:6379> SUNION set1 set2
1) "1"
2) "2"
3) "3"
4) "5"
5) "7"
5.查看集合的差集
127.0.0.1:6379> SDIFF set1 set2
1) "2"
127.0.0.1:6379> SDIFF set2 set1
1) "5"
2) "7"
6.删除一个成员
SREM set1 1
6.注意
集合不允许出现重复的值,自动去重
有序集合操作
1.添加成员
ZADD SZ3 100 json
ZADD SZ3 90 bobo
ZADD SZ3 99 xiaocancan
ZADD SZ3 98 bughao
2.计算成员个数
ZCARD SZ3
3.计算某个成员分数
ZSCORE SZ3 json
4.按照降序查看成员名次:
ZRANK SZ3 json
ZRANK SZ3 bobo
5.按照升序查看成员名次:
ZREVRANK SZ3 json
ZREVRANK SZ3 bobo
6.删除成员
ZREM SZ3 json
7.增加成员分数
ZINCRBY SZ3 2 xiaocancan
ZSCORE SZ3 xiaocancan
8.返回指定排名范围的成员
ZRANGE SZ3 0 3
ZRANGE SZ3 0 3 WITHSCORES
9.返回指定分数范围的成员
ZRANGEBYSCORE SZ3 95 100
ZRANGEBYSCORE SZ3 95 100 WITHSCORES
10.返回指定分数范围的成员的个数
ZCOUNT SZ3 90 110「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




