1.redis
一、安装
参考文档:https://blog.csdn.net/qq_28372199/article/details/123307098
二、查看帮助
# 查看帮助信息
[root@server redis-6.0.6]# src/redis-server --help
Usage: ./redis-server [/path/to/redis.conf] [options]
./redis-server - (read config from stdin)
./redis-server -v or --version
./redis-server -h or --help
./redis-server --test-memory <megabytes>
Examples:
./redis-server (run the server with default conf)
./redis-server /etc/redis/6379.conf
./redis-server --port 7777
./redis-server --port 7777 --replicaof 127.0.0.1 8888
./redis-server /etc/myredis.conf --loglevel verbose
Sentinel mode:
./redis-server /etc/sentinel.conf --sentinel
三、 redis工具
./src/redis-server 服务端
./src/redis-cli 客户端
./src/redis-benchmark 性能测试工具
redis-check-aof 检查修复aof文件
redis-check-rdb 检查修复rdb文件
redis-sentinel redis集群
redis-trib.rb 集群管理
四、启动
默认配置文件在安装目录下
[root@server redis-6.0.6]# pwd
/opt/redis-6.0.6
[root@server redis-6.0.6]# ls redis.conf
redis.conf
五、连接
redis-cli
-h ip地址
-p 端口
-s 套接字
-a 密码
-n 登录的数据库
默认 redis 没有密码
六、redis 命令
# 连通性测试
127.0.0.1:6379> ping
PONG
# 查看redis-server 信息
info # 显示redis所有配置信息,或 查看 info 下单一选项
info cpu
# 打印信息,测试时使用
echo
echo aa
# select, 进入"库",redis 默认有16个库 0-15
127.0.0.1:6379> select 15
OK
127.0.0.1:6379[15]> select 1
OK
127.0.0.1:6379[1]>
七、redis 数据类型
- string
- hash
- list
- set
- zset (有序集合)
| 类型 | 简介 | 特征 | 场景 |
|---|---|---|---|
| string | 二进制安全 | 可以包含任何数据,如jpg图片或者序列化的对象,一个键最大能存储512M | |
| hash | 键值对集合 | 适合存储对象,并且可以向数据库中update一个属性一样只修改某一项属性值 | 存储、读取、修改用户属性 |
| list | 链表(双向链表) | 增删快,提供了操作某一段元素的API | 1.最新消息排行等功能(比如朋友圈的时间线)2.消息队列 |
| set | 哈希表实现,元素不重复 | 1.添加、删除、查找的复杂度是O(1)2、为集合提供了求交集、并集、差集等操作 | 1.共同好友 2.利用唯一性,统计访问网站的所有独立ip 3.好友推荐时,根据tag求交集,大于某个预计就可以推荐 |
| zset | 将Set的元素增加一个权重参数score,元素按score有序排列 | 数据插入集合是,已经进行天然排序 | 1.排行榜 2.带权重的消息队列 |
八、key 操作
127.0.0.1:6379[1]> set name xiaoming
OK
127.0.0.1:6379[1]> GET name
"xiaoming"
127.0.0.1:6379[1]> del name
(integer) 1
127.0.0.1:6379[1]> DEL name
(integer) 0
127.0.0.1:6379[1]> get name
(nil)
127.0.0.1:6379> set name xiaoming
OK
127.0.0.1:6379> set age 18
OK
# del 删除1个或多个key
127.0.0.1:6379> del name age
(integer) 2
# 判断可以是否存在,存在则返回1,多个可以数量会进行计数
127.0.0.1:6379> set age 18
OK
127.0.0.1:6379> EXISTS age
(integer) 1
127.0.0.1:6379> EXISTS age
(integer) 1
# 设置key并添加可以失效时间
127.0.0.1:6379> set gendel man ex 5
OK
127.0.0.1:6379> ttl gendel # 查看key的存活时间
(integer) -2 # -2 就是过期
# ttl 查看key的过期时间
127.0.0.1:6379> set a 1
OK
127.0.0.1:6379> ttl a # -1 代表key永久有效
(integer) -1
# expireat,调整key的过期时间 ,单位是秒
127.0.0.1:6379> set name mk
OK
127.0.0.1:6379> expireat name 5
(integer) 1
# pexpire 调整key的过期时间 ,单位是毫秒
127.0.0.1:6379> PEXPIRE name 10000
(integer) 1
127.0.0.1:6379> ttl name
(integer) 8
127.0.0.1:6379> PTTL key # 查看key的剩余时间,单位是毫秒
(integer) -2
# 查看存在的key
127.0.0.1:6379> keys *
1) "age"
2) "name"
127.0.0.1:6379> keys n* #支持通配符
1) "name"
# 移动可以到其他数据库
127.0.0.1:6379> move age 1
(integer) 1
127.0.0.1:6379> move aa 1
(integer) 0 # key不存在返回0
# randomkey 随机获取一个key
# rename key newkey
如果key存在则对key 进行重名名,newkey存在则覆盖
# renamenx key newkey
如果newkey 存在则不变
# type 返回key所存储的数据类型,key不存在则返回none
127.0.0.1:6379> type name
string

浙公网安备 33010602011771号