数据库产品这么多,归根到底还是为了更好的存储,集中管理,与数据共享,另外还有高可用,高性能,容错性等等。
上一篇文章最后介绍了Redis,作为一种内存数据库,它的应用十分的广泛,它存储的是一种K-V结构的记录。学习一个数据库首先抓住重点就是学会如何使用增删改查,这次来演示下如何Java构建Redis的增删改查。Redis的集群还有工作原理暂时不做探讨。
1首先去Redis官网下载Redis官网
或者去Github找开源库下载下来,打开redis server服务,然后显示如下界面:
说明redis服务已经打开。
2.然后我们构建maven项目:
PS:具体客户端的版本可以去maven中央仓库查看选择
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.8.1</version>
</dependency>
然后编写Java客户端:
package com.redis_demo;
import java.util.Set;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
/**
* @author micro_hz
*/
public class RedisClient {
private static JedisPool pool;
private static Jedis jedis;
static {
pool = new JedisPool(new JedisPoolConfig(), "localhost");
jedis = pool.getResource();
}
public static void main(String[] args) {
RedisClient client = new RedisClient();
println("清空redis数据库");
jedis.flushDB();
println("**********分割线*********");
// 增加
println("添加两条记录");
client.insert("name", "micro");
client.insert("age", "23");
println("查询打印所有记录");
printAllRecord("*");
println("根据key去查询对应的value");
System.out.println("name = >>" + client.getValByKey("name"));
System.out.println("age = >>" + client.getValByKey("age"));
// 删除
println("删除数据age");
client.deleteByKey("age");
System.out.println("age = >>" + (client.getValByKey("age") != null ? "未被删除" : "不存在"));
;
// 打印所有记录
printAllRecord("*");
// 修改
println("修改name的value");
client.updateByKey("name", "mapc");
System.out.println("name = >> " + client.getValByKey("name"));
// 查询修改后name的值
System.out.println("name = >> " + client.getValByKey("name"));
}
// 插入对象
public void insert(String k, String v) {
jedis.set(k, v);
}
// 删除对象
public void deleteByKey(String k) {
jedis.del(k);
}
// 修改对象
public void updateByKey(String k, String v) {
jedis.set(k, v);
}
// 查询对象
public String getValByKey(String k) {
return jedis.get(k);
}
public static void printAllRecord(String key) {
Set<String> records = jedis.keys(key);
for (String r : records) {
System.out.println("key = " + r + ",value = " + jedis.get(r));
}
}
private static void println(String msg) {
System.out.println(msg);
}
}
打印结果:
清空redis数据库
**********分割线*********
添加两条记录
查询打印所有记录
key = name,value = micro
key = age,value = 23
根据key去查询对应的value
name = >>micro
age = >>23
删除数据age
age = >>不存在
key = name,value = micro
修改name的value
name = >> mapc
name = >> mapc
后续可能会补充redis集群的配置以及实例,感兴趣可以继续关注本博客。