设为首页 收藏本站
查看: 515|回复: 0

[经验分享] Redis--参考资料即总结

[复制链接]

尚未签到

发表于 2016-12-18 10:22:22 | 显示全部楼层 |阅读模式
  一,安装配置
  1. 新版本可以make install的; 也提供了utils目录,一键加入开机启动脚本
  2.设置了密码之后,脚本无法stop进程!!必须连上redis-cli, 输入shutdown

$ wget http://download.redis.io/releases/redis-2.6.16.tar.gz  
$ tar xzf redis- 2.6.16.tar.gz //这里假设解压缩到/usr/local/redis  
$ cd redis- 2.6.16
$ make  
$ make install  
$ cd utils  
$./install_server  
/etc/init.d/redis_6379 start
  二、接口命令--中文的哦。。
  http://www.redisdoc.com/en/latest/
  三、比较完整,详细的介绍

Redis版本:V3.0.3 2013-8-1 (@江南白衣版权所有,转载请保留出处)
  https://github.com/springside/springside4/wiki/Redis

 
  How to take advantage of Redis just adding it to your stack
  http://oldblog.antirez.com/post/take-advantage-of-redis-adding-it-to-your-stack.html
  四、连接池及jedis
  附件送一个maven的代码
  五、经验
  1. 简单的使用,无需用到pool;
  2. 如果用到pool,请一定关注下面2点:
  a.)每次从pool获取资源后,一定要try-finally 释放; 不手动释放的话,瞬间死的很惨; 
         b.) 一定要搞懂returnBrokenResource 和returnResource 的区别。
  池对象是复用的,比如先setxxx,一旦返回OK之前超时断开,下一次取到这个对象的get就会获取到"OK" "PONG" 这种奇怪的返回。
  而[size=1em]JedisConnectionException被设计成runtime异常,虽说不用强制捕获,但是不捕获怎么能处理掉brokenresource呢? 
  3. 从安全的角度来看,,安装第一件事情就是先换个端口把。嗯,15位串的密码也是必备。

/**
* 关闭连接
* @param jedis 连接对象
* @param isOK  对象是否ok,正常设为true;捕获到JedisConnectionException异常的时候传入false
*/
public void closeConnection(Jedis jedis, boolean isOK) {
if (null != jedis) {
if(!isOK){
log.error("returnBrokenResource jedis="+ new Gson().toJson(jedis));;
jedisPool.returnBrokenResource(jedis);
}else{
jedisPool.returnResource(jedis);
}
}
}

try {
connection.setex(key, 1800,xxxx)));
} catch (JedisConnectionException e) {
//return broken here
}
  springside这里的封装相当给力,可以借鉴之
  https://github.com/springside/springside4/blob/master/modules/extension/src/main/java/org/springside/modules/nosql/redis/JedisTemplate.java
  4.关于序列化: 我这里用的gson; 其实用来替代mysql之后,数据模型的可升级性必将成为一个问题。

{ //main
A a = new A();
a.b = 250;
String gs = new Gson().toJson(a);
B b = new Gson().fromJson(gs, B.class);
System.out.println(b);
}
}
class A{
Integer a;
Integer b;
}
class B{  //可扩展新字段
Integer a;
Integer b;
Integer c;
}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-315900-1-1.html 上篇帖子: go语言七——连接redis 下篇帖子: redis客户端hiredis
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表