一、什么是Redis
介绍Redis之前,先了解下NoSQL (Not only SQL)不仅仅是SQL属于非关系型数据库;Redis就属于非关系型数据库传统的Mysql ,oracle ,sql server 等 都是关系型数据库
为什么需要NoSQL,主要应对以下问题,传统关系型数据库力不从心
High performance -高并发读写
Huge Storage-海量数据的高效率存储和访问
High Scalablility && High Availability 高可扩展性和高可用性
NoSQL 产品 MongoDB Redis等等 Redis目前主流
1.1、 NoSQL的特点
易扩展
灵活的数据模型
大数据量,高性能
高可用
高性能键值对数据库,支持的键值数据类型
字符串类型
列表类型
有序集合类型
散列类型
集合类型
1.2、Redis的应用场景
- 缓存
- 任务队列
- 网站访问统计
- 数据过期处理
- 应用排行榜
- 分布式集群架构中的session分离
二、Redis的安装
redis的发行版应用于Linux操作系统,并没有提供windows操作系统的版本,网上流传的windows版本的redis属于linux的移植版本,该版本在windows操作系统上可以直接双击运行,无需配置任何环境
效果如下图所示:
部分电脑出现双击之后无法运行的情况,请使用命令行运行:
redis-server.exe redis.windows.conf
三、使用jedis操作redis
3.1、创建web项目并在pom.xml中添加jedis依赖
<!-- jedis依赖,访问redis数据库-->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
3.2、创建Jedis对象向Redis数据库中保存数据
Redis是以键值对的形式保存数据的,这点和Java的HashMap很相似。
//创建Jedis对象用于操作redis数据库
Jedis jedis = new Jedis("127.0.0.1", 6379); //访问到redis服务器
//jedis.auth("Aa123123."); //设置范围redis服务器的密码
jedis.set("hello", "hello Redis"); //向redis中保存数据,以键值对的形式,思路和HashMap一致
//释放资源
jedis.close();
3.3、创建Jedis对象从Redis数据库中获取数据
//创建Jedis对象,访问Redis服务器(数据库)
Jedis jedis = new Jedis("127.0.0.1", 6379);
//通过key从reids中读取数据
String str = jedis.get("hello");
//释放资源
jedis.close();
3.4、创建Jedis对象从Redis数据库删除数据
//创建Jedis对象用于操作redis数据库
Jedis jedis = new Jedis("127.0.0.1", 6379); //访问到redis服务器
//通过key从Redis数据库删除数据
jedis.del("hello");
//释放资源
jedis.close();