Redis(Remote Dictionary Server)是一个使用ANSI C编写的开源、支持网络、基于内存、分布式、可选持久性的键值对存储数据库。根据月度排行网站DB-Engines.com的数据,Redis是最流行的键值对存储数据库
1、支持数据持久化
2、不仅支持简单的key/value类型,同时还支持list,set等数据结构
3、支持数据备份:master-salve模式
4、定时器、计数器
Redis的安装非常简单,官方推荐使用Docker安装,具体安装步骤如下:
docker pull redis
# 根据镜像启动容器
docker run -itd --name redis-test -p 6379:6379 redis
# 进入容器,并启动Redis客户端连接测试
docker exec -it redis-test /bin/bash
cd /usr/local/bin
./redis-cli -p 6379
127.0.0.1:6379> ping
PONG
# 设置一个key、value键值对
127.0.0.1:6379> set name libin
OK
127.0.0.1:6379> get name
"libin"
127.0.0.1:6379>
官方的Redis操作命令为:https://redisdoc.com
# 切换数据库(Redis默认有16个数据库,下标从0开始)
select 1
# 数据库里有多少个key
DBSIZE
# 列出当前所在库的所有key(生产环境中慎用)
keys *
# 删除某个key
del key_name
# 清除当前库的所有key(生产环境中慎用)
FLUSHDB
# 清除所有库的key(生产环境中慎用)
FLUSHALL
Redis的五大数据类型
String类型
:一个Redis字符串value最多可以保存512MB的数据
Hash
:类似于Java中的Map
List
:底层实际上是一个链表
Set
:无重复集合
Zset
(有序集合)
Redis配置文件为redis.conf文件,默认保存到/usr/lcoal/redis目录下,在配置里常用的可配置项为:
Redis服务端口
缓存过期策略
内存限制
连接数限制
Redis安全配置
数据持久化路径
默认情况下,Redis登录不需要密码(因为Redis主要是做缓存,而不是安全)
以下示例演示了Redis支持的简单配置登录密码的方法
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) ""
# 设置密码
127.0.0.1:6379> config set requirepass "123456"
OK
# 再次登录之后需要输入密码才能执行命令
./redis-cli
127.0.0.1:6379> ping
(error) NOAUTH Authentication required.
# 输入密码进行验证
127.0.0.1:6379> auth 123456
OK