# 安装
官网提供的是 Mac 和 Linux 的安装包,并没有 windows 的,但是
github
有相关的开源项目。
开源地址:https://github.com/tporadowski/redis/releases
直接下载 zip
安装包就行了,然后运行服务端打开 redis-server.exe 文件即可。客户端打开 redis-cli.exe 即可。
如果客户端想要使用本地 cmd,则在 redis
根目录下执行命令: redis-cli.exe -h localhost
。默认是 6379 端口。
如果想要远程访问,就需要将 redis.windows.conf
的 bind 注释掉, protected-mode
设为 no
。
Linux (ubuntu) 下载 Redis:
sudo apt install redis-server | |
# 查看服务,按 q 退出 | |
sudo systemctl status redis-server |
可以远程访问 Redis,但是需要配置一下 /etc/redis.conf
文件,定位到 bind 0.0.0.0 ::1
,取消这行的注释,保存退出,重启 Redis 服务:
sudo systemctl restart redis-server |
配置防火墙,允许网络流量通过 TCP 端口 6379
。
通常你想要允许从一个指定 IP 地址或者一个指定 IP 范围来访问 Redis 服务器。例如,想要允许从 192.168.121.0/24
的连接,运行下面的命令:
sudo ufw allow proto tcp from 192.168.121.0/24 to any port 6379 |
此时,你应该可以从远程位置通过 TCP 连接到 Redis 的 6379 端口。
想要验证所有设置都设置好了,你可以尝试使用 redis-cli
从你的远程机器上 ping 一下 Redis 服务器。
redis-cli -h <REDIS_IP_ADDRESS> ping |
这个命令将会返回一个响应: PONG
PONG |
使用: redis-server&
置入后台,使用 ctrl+c 不会关闭 redis,然后再执行 redis-cli
打开客户端即可。
关于 redis 可视化工具,可以使用 Redis View,我把安装包放在阿里云盘了。
# 应用场景
- 热点数据的缓存:作为缓存使用,保存数据的方式一般是两种,读取数据前先读取 Redis,次级是数据库,并将数据拉入 Redis(可能会缓存击穿);插入数据时同时写入 Redis。
- 限时业务:比如验证码校验,60s 内有效。
- 计数器:redis 的 incrby 原子递增,可以运用于高并发秒杀
- 好友关系存储:在微博应用中,每个用户关注的人存在一个集合中,就很容易实现求两个人的共同好友功能。Redis 利用集合的一些命令,比如求交集、并集、差集等。
- 简单队列:由于 Redis 有 list push 和 list pop 这样的命令,所以能够很方便的执行队列操作。
# 基本使用
Redis
是一个键值数据库,因此,可以像 Map
一样的操作方式,通过键值对向 Redis
数据库中添加数据(操作起来类似于向一个 HashMap
中存放数据)。
现在打开客户端或者使用 cmd 连接到服务端。
redis 的数据库由整数索引标识(而不是名称),默认连接到 redis 使用 0 号数据库,默认 16 个数据库(可以通过配置文件修改数据库总数)。
相关命令操作:
# 切换数据库 | |
select 序号 | |
# 添加 / 修改数据;添加多个数据:mset key1 value1 key2 value2.. | |
set key value | |
# 获取数据 | |
get key | |
# 删除数据 | |
del key | |
# 设置数据过期时间,自动删除 | |
set key value EX 秒 | |
set key value PX 毫秒 | |
# 为单独的键设置过期时间,转为永久就是 persist key | |
expire key 秒 | |
# 查询过期时间剩余 毫秒就是 pttl | |
ttl key | |
# 查询所有键值 | |
keys * | |
# 某个键是否存在 | |
exists key | |
# 随机拿一个键 | |
randomkey | |
# 数据库内容迁移 | |
move key 数据库序号 | |
# 修改键名 renamex 会检查新名称是否存在 | |
rename key 新的键名 | |
# 存放的数据是数字,自增自减操作 | |
incr key # a++ | |
incrby key b # a = a+b | |
decr key # a-- | |
# 查看数据类型 | |
type key |
# 参考
https://pdai.tech/md/db/nosql-redis/db-redis-introduce.html
https://www.yuque.com/qingkongxiaguang/spring/nka2vz
https://cloud.tencent.com/developer/article/1639658