Redis的话,这东西其实说难很难,说简单也简单,想深入了解的话是比较难的,但是想用起来的话还算简单。
如果是Redis 集群的话,还要考虑很多问题。
今天讲一下 单机版 Redis
Redis 其实就是:高性能键值对数据库
A、支持的键值数据类型: 1、字符串类型
2、列表类型
3、游戏集合类型
4、散列类型
5、集合类型
B、Redis 的应用场景: 1、缓存(最广泛)
数据查询、新闻商品的内容,放在缓存中。聊天室的在线好友列表
2、网站访问统计
3、任务队列
秒杀、抢购
4、数据过期处理
5、应用排行榜
6、分布式集群架构中的session的分离
C、安装 Windows 环境下:github.com/MSOpenTech/…
Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我们下载 Redis-x64-xxx.zip压缩包到 C 盘,解压后,将文件夹重新命名为 redis。
打开文件,内容如下:
打开一个 cmd 窗口 使用 cd 命令切换目录到 C:\redis 运行:
redis-server.exe redis.windows.conf
如果想方便的话,可以把 redis 的路径加到系统的环境变量里,这样就省得再输路径了,后面的那个 redis.windows.conf 可以省略,如果省略,会启用默认的。输入之后,会显示如下界面:
这时候另启一个 cmd 窗口,原来的不要关闭,不然就无法访问服务端了。
切换到 redis 目录下运行:
redis-cli.exe -h 127.0.0.1 -p 6379
D、使用 Redis 项目中加入 redis依赖:
<properties>
<redis.util.version>0.0.3</redis.util.version>
</properties>
<dependencies>
<dependency>
<groupId>com.cmcc.iot.redistool</groupId>
<artifactId>redis-util</artifactId>
<version>${redis.util.version}</version>
</dependency>
<!-- jedis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>${jedis.version}</version>
</dependency>
</dependencies>
连接到 Redis 服务:
import redis.clients.jedis.Jedis;
public class RedisJava {
public static void main(String[] args) {
//连接本地的 Redis 服务
Jedis jedis = new Jedis("localhost");
System.out.println("连接成功");
//查看服务是否运行
System.out.println("服务正在运行: " + jedis.ping());
}
}
执行结果:
连接成功 服务正在运行: PONG a)Redis 储存String 类型数据:
import redis.clients.jedis.Jedis;
public class RedisStringJava {
public static void main(String[] args) {
//连接本地的 Redis 服务
Jedis jedis = new Jedis("localhost");
System.out.println("连接成功");
//设置 redis 字符串数据
jedis.set("website", "https://blog.csdn.net/qq_39415129");
// 获取存储的数据并输出
System.out.println("redis 存储的字符串为: "+ jedis.get("website"));
}
}
执行结果:
连接成功
redis 存储的字符串为: https://blog.csdn.net/qq_39415129
b)Redis 储存 List 类型数据:
import java.util.List;
import redis.clients.jedis.Jedis;
public class RedisListJava {
public static void main(String[] args) {
//连接本地的 Redis 服务
Jedis jedis = new Jedis("localhost");
System.out.println("连接成功");
//存储数据到列表中
jedis.lpush("site-list", "Runoob");
jedis.lpush("site-list", "Google");
jedis.lpush("site-list", "Taobao");
// 获取存储的数据并输出
List<String> list = jedis.lrange("site-list", 0 ,2);
for(int i = 0; i < list.size(); i++) {
System.out.println("列表项为: " + list.get(i));
}
}
}
执行结果:
连接成功
列表项为: Taobao
列表项为: Google
列表项为: Runoob
c)Redis 储存 Keys:
import java.util.Iterator;
import java.util.Set;
import redis.clients.jedis.Jedis;
public class RedisKeyJava {
public static void main(String[] args) {
//连接本地的 Redis 服务
Jedis jedis = new Jedis("localhost");
System.out.println("连接成功");
// 获取数据并输出
Set<String> keys = jedis.keys("*");
Iterator<String> it = keys.iterator() ;
while(it.hasNext()){
String key = it.next();
System.out.println(key);
}
}
}
执行结果:
连接成功
runoobkey
site-list
思路清晰点:redis 其实就是一个用来存储 key-value 等形式的数据的数据库。
对于后面需要用到的数据进行存储到 Redis 中,要用的时候直接去获取。
当然目前推荐使用的是 Jedis ,因为 Jedis 是 Redis 的 Java 客户端。可以通过 Jedis 对 Redis 进行操作。
JedisPool 连接池也可以极大的用于项目中,实现缓存数据读取的高效率。
我是进阶的球儿,大家一起2019年的爬坑历程。感觉分享很给力的话给个赞,谢谢!!!有问题也可以下方留言沟通。