本次讲解主要包括:
- redis的安装配置
- redis在linux下各种数据类型的基本使用
- redis的持久化
- jedis的基本应用
1 redis简介
百度百科连接:https://baike.baidu.com/item/Redis/6549233?fr=aladdin
2 redis 安装配置
redis主要是运行在linux上的程序
博主安装的版本号为:
- vm 10 虚拟机
- cenos6.8 操作系统
- xshell6 远程连接工具
- xftp5 远程文件传输工具
- redis
2.1 安装虚拟机,安装cenos系统
可以自行网上百度虚拟机及虚拟系统安装教程
2.2 安装gcc环境
输入命令行 ,判断是否安装gcc环境,出现 Command not found”;则未安装,已安装则出现gcc版本号
[root@hejie redis-3.0.7]# gcc -v
未安装则可以直接安装gcc,因为是在线安装,所以需要确保已经联网
[root@hejie redis-3.0.7]# yum install gcc-c++
提示是否下载,按y即可
2.3安装redis
在网上下载redis
http://download.redis.io/releases/redis-3.0.7.tar.gz
[root@hejie redis-3.0.7]# tar -zxvf redis-3.0.7.tar.gz
[root@hejie redis-3.0.7]# cd redis-3.0.7
[root@hejie redis-3.0.7]# make
[root@hejie redis-3.0.7]# make
进行编译
再次执行命令
[root@hejie redis-3.0.7]# make PREFIX=/usr/local/redis install
进入redis3.0.7文件夹下
[root@hejie redis-3.0.7]# cp redis.conf /usr/local/redis
[root@hejie redis-3.0.7]# cd /usr/local
能在usr看见redis.conf即配置成功,接下来可以进入bin目录下启动redis
[root@hejie bin]# ./redis-server
出现这个即启动成功
但这种启动属于前端启动,即必须时刻挂在这个页面上。因此我们需要设置成后台启动,首先按CTRL+C进行关闭当前启动的redis程序
2.3配置redis后台启动
回到/usr/local/redis目录下,用vim编辑conf文件如下
[root@hejie redis]# vim redis.conf
vim编辑器,进入后按“i”进行编辑,按“esc”退出到显示界面,再按“:”,输入“wq”进行保存和退出
[root@hejie redis]# ./bin/redis-server ./redis.conf
查看redis是否启动
[root@hejie redis]# ps -ef | grep -i redis
关闭redis:
- 方法一
kill -9 进程号
- 方法二
进入redis的bin目录
./redis-cli shutdown
运行即可!
3 redis的简单使用
在启动redis之后,在bin目录,启动redis的客户端
[root@hejie bin]# ./redis-cli
set keyname value ,当重复设置相同的keyname就会进行覆盖,也就实现了所谓的更新!
3.1 string类型
3.2 hash类型
3.3 list类型
lset 表示从0开始将第四个值设置成mmm
3.4 set类型(自动去重复内容)
3.5 sorted-set 类型(自动排序)
应用场景
- 游戏排名
- 微博热搜等排行榜单类的
截图后面三个红框分别是
- 按分数显示0-100
- 按分数显示0-100 从第零个开始输出到第二个
- 给ls的分数加3
3.6 其他操作
- multi 开始事务
- exec 原子化地执行之前的sql语句 ,相当于关系型数据库的commit
- discard 相当于关系型数据库的rollback
4 redis的持久化
- rdb持久化 每隔一段时间存储快照到磁盘中
- aof持久化 存储在文件列表中
- 不保存,即此刻使用redis的缓存功能
4.1 rdb
4.1.1 rdb简介
4.1.2 rbd配置
redis目录下conf文件 可以查看关于存储的设置
4.2 aof持久化
4.2.1 简介
4.2.2 配置文件
conf配置文件内
no表示默认不开启aof的存储方式
同步的文件名称
5 Jedis连接redis
5.1 创建maven项目
为配合远程虚拟机调用,需要设置开放端口
[root@hejie ~]# vim /etc/sysconfig/iptables
进入开放redis需要6379端口
然后重启防火墙
[root@hejie ~]# service iptables restart
5.2 配置pom项目
<dependencies>
<!-- jedis连接包 -->
<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.7.0</version>
</dependency>
<!-- common-pools连接包 -->
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-pool2 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
<version>2.3</version>
</dependency>
</dependencies>
5.3 java文件
public class jedisDemo1 {
@Test
public void demo1(){
//1.设置IP地址和端口
Jedis jedis = new Jedis("ip地址",6379);
//2 保存数据:
jedis.set("name", "hejie");
//获取数据
String string = jedis.get("name");
System.out.println(string);
//释放资源
jedis.close();
}
}