一、Redis介绍
Redis是一个开源的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。它支持多种类型的数据结构,例如:字符串、列表、集合等。Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。它支持数据的备份,即master-slave模式的数据备份。
二、Redis使用
Redis的使用分为Linux下的使用的Windows下的使用两部分进行介绍。
1、首先是Linux下的安装和使用。
(1)下载上传解压安装Redis
(2)启动服务端和客户端
(3)简单测试
2、Windows下Redis的安装就不多说了,直接上java客户端的测试代码
【pom.xml】
<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
【java客户端测试代码】
package com.xzw.redis;
import java.util.ArrayList;
import java.util.List;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import redis.clients.jedis.JedisShardInfo;
import redis.clients.jedis.ShardedJedis;
import redis.clients.jedis.ShardedJedisPool;
/**
*
* @author xzw
*
*/
public class RedisClient {
private Jedis jedis;//非切片客户端连接
private JedisPool jedisPool;//非切片连接池
private ShardedJedis shardedJedis;//切片客户端连接
private ShardedJedisPool shardedJedisPool;//切片连接池
public RedisClient(){
initialPool();
initialShardedPool();
shardedJedis = shardedJedisPool.getResource();
jedis = jedisPool.getResource();
}
/**
* 初始化非切片池
*/
private void initialPool(){
//池基本设置
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxIdle(5);
config.setMaxTotal(20);
config.setMaxWaitMillis(1000l);
config.setTestOnBorrow(false);
jedisPool = new JedisPool(config, "127.0.0.1", 6379);
}
/**
* 初始化切片池
*/
private void initialShardedPool(){
//池基本设置
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxIdle(5);
config.setMaxTotal(20);
config.setMaxWaitMillis(1000l);
config.setTestOnBorrow(false);
//slave链接
List<JedisShardInfo> shards = new ArrayList<JedisShardInfo>();
shards.add(new JedisShardInfo("127.0.0.1", 6379, "master"));
//构造池
shardedJedisPool = new ShardedJedisPool(config, shards);
}
public void show(){
jedisPool.returnResource(jedis);
shardedJedisPool.returnResource(shardedJedis);
}
public static void main(String[] args) {
new RedisClient().show();
}
}