Redis之夫 —— Salvatore Sanfilippo(antirez)
Redis是一个ANSI C编写的开源、支持网络、基于内存、分布式、可选持久化的键值对存储数据库。
一、Redis介绍与安装
1、Redis介绍
Redis是Key-Value型NoSQL数据库
Redis将数据存储在内存中,同时也能持久化到磁盘
Redis常用于缓存,利用内存的高效提高程序的处理速度
Redis特点:
速度快 | 持久化 | 主从复制 |
---|---|---|
广泛的语言支持 | 多种数据库结构 | 分布式与高可用 |
2、在Linux系统中安装Redis
1、准备工作
下载Redis redis.io
2、安装
a、在目录/home/Download 解压到/opt
tar -xvf redis-6.2.6.tar.gz -C /opt
b、进入解压后的目录
cd /opt/redis-6.2.6
c、有一个install文件
sudo make install
d、成功后进入当前目录下的src
cd src
e、测试一下
sudo make test
安装成功!
3·启动服务端
sudo redis-server
启动客户端
sudo redis-cli
成功了!
注意
有可能你直接启动客户端的时候可能会报错
这时候我们就需要去配置一下
首先把redis.conf文件复制到etc文件下
cd /opt/redis-6.2.6
cp redis.conf /etc
进入etc,找到redis.conf并修改daemonize no 修改为daemonize yes,这样就可以默认启动
重新开启服务端 成功后 在开启客户端!
这样就解决了!
二、掌握Redis的常用命令与数据类型
配置项 | 实例 | 说明 |
---|---|---|
daemonize | daemonize yes | 是否启用后台运行,默认no |
port | port 6379 | 设置端口号,默认6379 |
logfile | logfile 日志文件 | 设置日志文件 |
databases | databases 255 | 设置redis数据库总量 |
dir | dir 数据文件目录 | 设置数据文件存储目录 |
requirepass | requirepass 12345 | 设置使用密码 |
Redis通用命令
命令 | 示例 | 说明 |
---|---|---|
select | select() | 选择0号数据库 |
set | set name lily | 设置key=name,value=lily |
get | get hello | 获得key=hello结果 |
keys | keys he* | 根据pattern表达式查询符合条件的key |
dbsize | dbsize | 返回key的总数 |
exists | exists a | 检查key=a是否存在 |
del | del a | 删除key=a的数据 |
expire | expire hello 20 | 设置key=hello 20秒后过期 |
ttl | ttl hello | 查看key=a的过期剩余时间 |
Redis数据类型
String -字符串类型 :String最大512mb 建议单个kv不超过100kb
Hash -Hash类型
List -列表类型
Set -集合类型
Zset -有序集合类型
字符串命令
命令 | 示例 | 说明 |
---|---|---|
get | get hello | 获得key=hello结果 |
set | set hello world | 设置key=hello,value=hello |
mset/mget | mset hello world java /mget hello java | 一次性设置或者获取多个值 |
del | del hello | 删除key=hello |
incr/decr | incr count/decr count | key值自增/自减1 |
incrby/decrby | incrby count 99/ decrby count 99 | 自增自减指定不长 |
Hash键值类型
- Hash类型用于存储结构化数据
List列表类型
- List列表就是一系列字符串 的“数组”,按插入顺序排序
- List列表最大长度为2的32次方-1,可以包含40亿个元素
List命令
- rpush listkey c b a -右侧插入
- lpush listkey f e d -左侧插入
- rpop listkey -右侧弹出
- lpop listkey -左侧弹出
Set与Zset集合类型
- Set集合是字符串的无序集合,集合成员是唯一的
- Zset集合是字符串的有序集合,集合成员是唯一的
三、掌握在Java中操作Redis
Java客服端 -Jedis
- Jedis是Java语言开发的Redis客户端工具包
- Jedis只是对Redis命令的封装,掌握Redis命令便可轻易上手