本文共 3372 字,大约阅读时间需要 11 分钟。
一、Java 连接redis
1.1 maven引入jar
redis.clients jedis 2.9.0
1.2 连接示列
// 连接到 redis 服务public static void connection() { //连接本地的 Redis 服务 Jedis jedis = new Jedis("localhost"); System.out.println("连接成功"); //查看服务是否运行 System.out.println("服务正在运行: "+jedis.ping());}
1.3 字符串(String)
// Redis Java String(字符串) 实例public static void string() { //连接本地的 Redis 服务 Jedis jedis = new Jedis("localhost"); System.out.println("连接成功"); //设置 redis 字符串数据 jedis.set("runoobkey", "www.runoob.com"); // 获取存储的数据并输出 System.out.println("redis 存储的字符串为: "+ jedis.get("runoobkey"));}
1.4 哈希(Hash)
// Redis Java 哈希(hash) 实例public static void hash() { Jedis jedis = new Jedis("localhost"); jedis.hset("key", "field1", "value1"); jedis.hset("key", "field2", "value2"); jedis.hset("key", "field3", "value3"); String value = jedis.hget("key", "field1"); System.out.println("value:" + value);}
1.5 列表(List)
// Redis Java List(列表) 实例public static void list() { //连接本地的 Redis 服务 Jedis jedis = new Jedis("localhost"); System.out.println("连接成功"); //存储数据到列表中 jedis.lpush("site-list", "Runoob"); jedis.lpush("site-list", "Google"); jedis.lpush("site-list", "Taobao"); // 获取存储的数据并输出 Listlist = jedis.lrange("site-list", 0 ,2); for(int i=0; i
1.6 集合(Set)
// Redis Java 无序集合(set) 实例public static void set() { Jedis jedis = new Jedis("localhost"); jedis.sadd("test","value1","value2"); jedis.sadd("test","value3","value4"); Set set = jedis.smembers("test"); System.out.println(set);}
1.有序集合(sorted Set)
// Redis Java 有序集合(zset) 实例public static void zset() { Jedis jedis = new Jedis("localhost"); jedis.zadd("zadd",3, "value3"); jedis.zadd("zadd",1, "value1"); jedis.zadd("zadd",2, "value2"); Set set = jedis.zrevrange("zadd", 0, -1); System.out.println(set);}
1.7 key
// Redis Java Keys 实例public static void keys() { //连接本地的 Redis 服务 Jedis jedis = new Jedis("localhost"); System.out.println("连接成功"); // 获取数据并输出 Setkeys = jedis.keys("*"); Iterator it=keys.iterator() ; while(it.hasNext()){ String key = it.next(); System.out.println(key); }}
1.8 其他方法
// expire用于设置key的过期时间jedis.expire(key, 1000);// 删除keyjedis.del(key);// 关闭连接jedis.close();
二、redis连接池
JedisPoolConfig poolConfig = new JedisPoolConfig();// 最大空闲数poolConfig.setMaxIdle(50);// 最大连接数poolConfig.setMaxTotal(100);// 最大等待毫秒数poolConfig.setMaxWaitMillis(20000);// 使用配置创建连接池JedisPool pool = new JedisPool(poolConfig, "localhost");// 从连接池中获取单个连接Jedis jedis = pool.getResource();// 如果需要密码//jedis.auth("password");
三、Java中使用哨兵模式
public static void sentinel() { JedisPoolConfig jedisPoolConfig = new JedisPoolConfig(); jedisPoolConfig.setMaxTotal(10); jedisPoolConfig.setMaxIdle(5); jedisPoolConfig.setMinIdle(5); // 哨兵信息 Setsentinels = new HashSet<>(Arrays.asList( "192.168.11.128:26379", "192.168.11.129:26379", "192.168.11.130:26379")); // 创建连接池 JedisSentinelPool pool = new JedisSentinelPool("mymaster", sentinels,jedisPoolConfig,"123456"); // 获取客户端 Jedis jedis = pool.getResource(); // 执行两个命令 jedis.set("mykey", "myvalue"); String value = jedis.get("mykey"); System.out.println(value);}
四、Spring使用哨兵模式
转载地址:http://tgqr.baihongyu.com/