1.下载 链接:https://pan.baidu.com/s/1cgsPYD8KL25-eeBfRgBQGw 密码:a8uq
2.解压下载的压缩文件
3.启动
打开cmd窗口,切换目录到redis,执行redis-server.exe redis.windows.conf
4.测试
另打开一个cmd窗口,原来的不要关闭,不然就无法访问服务端了,切换目录到redis
连接服务 redis-cli.exe -h 127.0.0.1 -p 6379
设置键值对 set myKey abc
取出键值对 get myKey
推出 quit
5.退出
在3中的cmd窗口,ctrl+c退出
6.Java使用redis
jar包
package test;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
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;
import redis.clients.jedis.SortingParams;
public class RedisTest {
private Jedis jedis;//非切片额客户端连接
private JedisPool jedisPool;//非切片连接池
private ShardedJedis shardedJedis;//切片额客户端连接
private ShardedJedisPool shardedJedisPool;//切片连接池
public RedisTest() {
initialPool();
initialShardedPool();
shardedJedis = shardedJedisPool.getResource();
jedis = jedisPool.getResource();
}
/**
* 初始化非切片池
*/
private void initialPool() {
// 池基本配置
JedisPoolConfig config = new JedisPoolConfig();
//config.setMaxActive(20); 旧版本
config.setMaxTotal(20);
config.setMaxIdle(5);
//config.setMaxWait(1000l); 旧版本
config.setMaxWaitMillis(1000l);
config.setTestOnBorrow(false);
jedisPool = new JedisPool(config,"127.0.0.1",6379);
}
/**
* 初始化切片池
*/
private void initialShardedPool()
{
// 池基本配置
JedisPoolConfig config = new JedisPoolConfig();
//config.setMaxActive(20); 旧版本
config.setMaxTotal(20);
config.setMaxIdle(5);
//config.setMaxWait(1000l); 旧版本
config.setMaxWaitMillis(1000l);
config.setTestOnBorrow(false);
// slave链接
List shards = new ArrayList();
shards.add(new JedisShardInfo("127.0.0.1", 6379, "master"));
// 构造池
shardedJedisPool = new ShardedJedisPool(config, shards);
}
public void show() {
KeyOperate();
StringOperate();
ListOperate();
SetOperate();
SortedSetOperate();
HashOperate();
//jedisPool.returnResource(jedis);
//shardedJedisPool.returnResource(shardedJedis);
}
}
初始化redis,这里有2个小问题
config.setMaxActive(20);
config.setMaxWait(1000l);
这两句在Jedis版本较高的JedisPoolConfig中没有setMaxActive和setMaxWait属性了,这是因为高版本中官方废弃了此方法,用以下两个属性替换。
maxActive ==> maxTotal
maxWait ==> maxWaitMillis
//jedisPool.returnResource(jedis);
//shardedJedisPool.returnResource(shardedJedis);
returnResource在高版本遭废弃,使用close
加下来简单测试
private void KeyOperate()
{
System.out.println("======================key==========================");
// 清空数据
System.out.println("清空库中所有数据:"+jedis.flushDB());
// 判断key否存在
System.out.println("判断key999键是否存在:"+shardedJedis.exists("key999"));
System.out.println("新增key001,value001键值对:"+shardedJedis.set("key001", "value001"));
System.out.println("判断key001是否存在:"+shardedJedis.exists("key001"));
// 输出系统中所有的key
System.out.println("新增key002,value002键值对:"+shardedJedis.set("key002", "value002"));
System.out.println("系统中所有键如下:");
Set keys = jedis.keys("*");
Iterator it=keys.iterator() ;
while(it.hasNext()){
String key = it.next();
System.out.println(key);
}
// 删除某个key,若key不存在,则忽略该命令。
System.out.println("系统中删除key002: "+jedis.del("key002"));
System.out.println("判断key002是否存在:"+shardedJedis.exists("key002"));
// 设置 key001的过期时间
System.out.println("设置 key001的过期时间为5秒:"+jedis.expire("key001", 5));
try{
Thread.sleep(2000);
}
catch (InterruptedException e){
}
// 查看某个key的剩余生存时间,单位【秒】.永久生存或者不存在的都返回-1
System.out.println("查看key001的剩余生存时间:"+jedis.ttl("key001"));
// 移除某个key的生存时间
System.out.println("移除key001的生存时间:"+jedis.persist("key001"));
System.out.println("查看key001的剩余生存时间:"+jedis.ttl("key001"));
// 查看key所储存的值的类型
System.out.println("查看key所储存的值的类型:"+jedis.type("key001"));
/*
* 一些其他方法:1、修改键名:jedis.rename("key6", "key0");
* 2、将当前db的key移动到给定的db当中:jedis.move("foo", 1)
*/
}
public static void main(String[] args) {
RedisTest redis = new RedisTest();
redis.KeyOperate();
redis.jedis.close();
redis.shardedJedis.close();
}
使用完注意close
参考:https://www.cnblogs.com/edisonfeng/p/3571870.html
https://blog.csdn.net/sukexiaozi/article/details/52022449
https://blog.csdn.net/eff666/article/details/52998890