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
posted @ 2022-03-22 20:25  mk-备忘  阅读(27)  评论(0)    收藏  举报