前面我们一直在学习Java相关的知识,但是最近我开始使用前面的知识写一个项目的时候发现一个问题,项目中使用了Redis。所以只能停下脚步返回来学习Redis。
前面我们也学过了一写关系型数据库,但是这些数据库都是关系型数据库,主要用于数据的持久化,数据存储在硬盘中。当数据量足够大的时候,数据存取就会受到限制。基于此情况下就诞生了Redis数据库。
Redis官网
这里我们可以直接看一下前面关于Linux的文章关于安装卸载应用程序的部分,实际就是在Linux新建一个文件夹,然后使用编译安装的方法安装即可。
这里因为我的电脑上已经安装过,所以不方便截图演示,这里给大家找了一篇博客,基本按这个来就可以安装完成了!!!
windos安装redis
我们安装完成以后启动Redis,但是当我们关闭窗口的时候Redis的服务就会跟着停止,作为服务端,这不是我们想要的,所以我们采用守护进程的方式运行我们的Redis。
简单粗暴
kill -9 PID号
这部分真的没有什么诀窍,对着表格敲一遍,基本上就知道每一个命令是干什么的了!!!!!!
List列表就是一系列字符串的“数组”,按照插入的顺序排序。
List列表的最大长度为2的32次方-1,可以包含40亿个元素。
<dependency>
<groupId>redis.clientsgroupId>
<artifactId>jedisartifactId>
<version>2.9.0version>
dependency>
pom.xml文件加入依赖即可。
public class JedisTestor {
public static void main(String[] args) {
try (Jedis jedis = new Jedis("127.0.0.1", 6379)) {
jedis.auth("123456");
System.out.println("Redis连接成功!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
上面我们已经通过Java代码成功连接了我们的Redis,这里我们就来使用代码操作Redis数据库,具体的可以参见下面的代码,我只写了几个例子。使用的命令跟上面的命令行的时候是一模一样的!!!!
package com.five.jedis;
import redis.clients.jedis.Jedis;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Description: 192.168.202.128
*
* @Author: kk(专业bug开发)
* DateTime: 2022-03-13 23:57
*/
public class JedisTestor {
public static void main(String[] args) {
try (Jedis jedis = new Jedis("127.0.0.1", 6379)) {
jedis.auth("123456");
System.out.println("Redis连接成功!");
jedis.select(1);
//操作String类型
// jedis.set("name", "小柯");
// System.out.println(jedis.get("name"));
// jedis.mset("age", "22", "sex", "男");
// System.out.println(jedis.keys("*"));
//操作Hash类型
// Map userMap = new HashMap<>();
// userMap.put("name", "小柯");
// userMap.put("age", "22");
// userMap.put("sex", "男");
// jedis.hmset("student1", userMap);
// Map umap = jedis.hgetAll("student1");
// System.out.println(umap);
//操作List
jedis.rpush("letter", new String[]{"d", "e", "f"});
jedis.rpush("letter", new String[]{"d", "r", "s"});
List<String> letter = jedis.lrange("letter", 0, -1);
System.out.println(letter);
} catch (Exception e) {
e.printStackTrace();
}
}
}
我们这里模拟网站的商品信息,首先将商品信息存放进Redis中,然后再根据编号取出数据,过程中我们使用阿里巴巴的fastjson对数据进行JSON序列化。demo的目录结构如下:
这里我们仅仅是测试了三条数据,试想一下,如果是一个大型的电商网站,我们使用Redis存储数据的话这些数据存储在内存中,存取速度必然很快,对于系统性能提升作用明显!
这篇文章前前后后耽误了一两个星期,因为中间有其他事耽误了,所以这篇文章一直是断断续续的在写,虽然没有很多内容,但是为了展示效果,上面的每一步都是亲自截的图,即使有些地方我可能已经很熟悉了,但是我还是写了出来,希望大家可以认真看完。