一、Redis简介
Redis 是完全开源免费的,遵守BSD协议,是一个高性能的(内存型的)key-value的NoSQL(Not Only SQL)数据库。
SQL (Struct Query Lanauge 结构化的查询语言) 引申含义 RDB产品,传统的关系型数据库,存储格式化的表格数据。Not Only SQL 不仅仅只有关系型数据库 引申含义:非关系型数据库。存储半格式化和非格式化的数据,如k-v、json、xml
关系型数据库的特点:
存储结构化数据,库里面存储的是表
强事务,mysql对事务的要求比较严格。
在磁盘中存储数据,可以永久保存
数据量到达一定量级,查询性能就会出现瓶颈
支持SQL
Redis的特点:
存储非结构化的数据:k-v方式存储数据
弱事务,但一般能保证最终一致
在内存中存储数据,但能自动持久化
查询性能非常好
不支持SQL,需要使用特定的命令
支持集群、数据分片,扩展容易
Redis就是一个在内存中,存储k-v格式数据,支持自动持久化的NoSQL型数据库。
Redis开发中的应用:
需要持久化,但对事务要求不高的数据:购物车
充当应用中的缓存
对tomcat集群的session进行管理
二、Redis环境部署
上传Redis压缩包
上传redis-5.0.8.tar.gz到Linux虚拟机
安装gcc
因为redis要基于gcc软件,gcc是c语言的编译环境,redis底层是c语言编写的
解压redis
编译、安装
进入redis根目录,进行编译、安装
复制redis.conf
在/etc下创建目录,名叫redis,将根目录下的redis.conf复制到/etc/redis目录下
配置redis.conf
配置/etc/redis/redis.conf内容
启动redis
开机自启动
新建系统服务文件
配置文件
配置redis.service文件内容
重载系统服务
启动停止
开机自启
三、Redis客户端使用
在MobaXterm中创建一个连接虚拟机的窗口【Redis Desktop Manager也可以】
打开客户端
关闭redis数据库
在客户端中关闭redis数据库
关闭客户端
四、Redis数据类型-String
Redis是k-v数据格式的数据库,v有多种类型,下面演示v为字符串的操作。
增
set key value
查
get key
改
删
五、Redis过期时间
Redis中可以设置数据的过期时间,一旦过期自动删除数据
设置过期时间
查看剩余时间
取消过期
六、Java操作Redis
1、Jedis
和在Java中操作关系型数据库类似,也可以在Java中操作Redis数据库。Jedis是Redis官方推荐的Java连接开发工具,通过Jedis操作Redis数据库。
导入依赖
编码
2、JedisPool
为提升Jedis操作Redis的性能,可以使用JedisPool连接池来管理jedis对象。
JedisPool:
JedisUtils:
redis.properties
JedisUtils.java
3、短信验证码应用
七、序列化和反序列化
对象序列化【将对象的状态信息持久保存的过程】
对象反序列化【根据对象的状态信息恢复对象的过程】
在Redis中有2种常用的方式:字节数组和json串
1、字节数组
添加依赖
代码实现
注意:序列化的类型,必须实现Serializable接口
2、json串
添加依赖
代码实现
领取专属 10元无门槛券
私享最新 技术干货