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命令便可轻易上手