扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
JedisPool pool = new JedisPool(new JedisPoolConfig(), "localhost");
可以以静态的方式处理以上代码,它是线程安全的.
创新互联是专业的抚宁网站建设公司,抚宁接单;提供网站建设、做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行抚宁网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!static {
pool= new JedisPool(new Config(), "host", 6379);
}
JedisPoolConfig包含了许多有用的redis指定的连接池的默认参数。比如,如果一个连接300秒内没有任何的返回Jedis将关闭这个连接.
可以这样使用:
Jedis jedis = pool.getResource();
try {
//随便做一些对于redis的操作 jedis.set("foo", "bar");
String foobar= jedis.get("foo");
jedis.zadd("sose", 0, "car"); jedis.zadd("sose", 0, "bike");
Set sose = jedis.zrange("sose", 0, -1);
}finally {
//这里很重要,一旦拿到的jedis实例使用完毕,必须要返还给池中 pool.returnResource(jedis);
}
//程序关闭时,需要调用关闭方法 pool.destroy();
启用同步复制
Redis主要为了主/从分布而构建。这意味着"write"请求必须要指向"master", "master"会同步复制改变的内容到"slave". "read"请求可以(不是必须的)被指向"slave",缓解"master"的读写压力.
可以按以下的步骤使用"master". 为了启用同步复制,有两个方式去告诉"slave"将"slaveOf"到一个给定的"master": 1.在redis server的config文件(redis.conf)指明 2.在拿到的jedis实例中调用"slaveOf"方法并指定IP和端口
jedis.slaveOf("192.168.1.35", 6379);
注意:"slave"也是一个redis server,也可以接收"write"请求并不会报错,但是改变不会被同步复制,所以如果弄反了jedis的实例则一些操作会被覆盖.
禁用同步复制/master失败后,提升slave
如果"master"down掉,可以提升"slave"成为新的"master".首先试着禁用同步复制离线的"master",如果有几个"slave",启用同步复制其余的"slave"到新的"master".
slave1jedis.slaveofNoOne();
slave2jedis.slaveOf("192.168.1.36", 6379);
因为自己在使用Hadoop做join的时候,小表也很大,导致内存爆满,所以打算用Redis来看看。把数据加入Redis的代码如下:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
public class RedisInutAccount {
private static String parseRaw(String str) {
if (str==null) {
return "";
}
str= str.trim();
if (str.startsWith(""")) {
str= str.substring(1);
}
if (str.endsWith(""")) {
str= str.substring(0, str.length() - 1);
}
return str;
}
public static void main(String[] args) throws IOException {
JedisPool pool= new JedisPool("192.168.2.101", 6379);
Jedis jedis= pool.getResource();
jedis.flushAll();
File file= new File("sample_account.del");
FileReader is= new FileReader(file);
BufferedReader br= new BufferedReader(is);
String tmp= null;
while ((tmp = br.readLine()) != null) {
System.out.println(tmp);
jedis.set(parseRaw(tmp),"1");
}
br.close();
pool.returnResource(jedis);
pool.destroy();
}
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流