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

[经验分享] Redis存储系统

[复制链接]

尚未签到

发表于 2015-7-20 12:49:15 | 显示全部楼层 |阅读模式
一、QuickStart

1、Redis简介:
  redis是一个性能非常优秀的内存数据库,通过key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hashs(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
  Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。redis的安装配置,比较简单,详见官方网站。
2、下载安装
下载:http://download.redis.io/redis-stable.tar.gz



tar -zxvf redis-stable.tar.gz
cd redis-stable
make
make test
make install (管理员权限,加sudo)
  遇到的问题:make test时出现:
You need tcl 8.5 or newer in order to run the Redis test
make: *** [test] Error 1
则需要安装tcl 详见: http://www.linuxfromscratch.org/blfs/view/cvs/general/tcl.html
安装完成,将src下的 redis-server和redis-cli放到 /usr/local/bin/ 下,方便使用



sudo cp redis-server /usr/local/bin/
sudo cp redis-cli /usr/local/bin/
  3、测试
启动服务器:
redis-server
检测是否运行:redis-cli ping 返回PONG 则运行OK
4、更合适的安装配置方式
1)创建redis文件夹



sudo mkdir /etc/redis
sudo mkdir /var/redis
2)将启动脚本复制到/etc/init.d目录下



sudo cp utils/redis_init_script /etc/init.d/redis_6379
  3)修改启动脚本
确保REDIS_PORT就是你需要开启的端口,后面的pid文件和配置文件都会依赖它



sudo vim /etc/init.d/redis_6379
  4)创建redis的工作目录



sudo mkdir /var/redis/6379
  5)将redis的配置文件拷贝到/etc/redis目录下,并修改或确认参数



sudo cp redis.conf /etc/redis/6379.conf
#设置daemonize为true
#设置pidfile为/var/run/redis_6379.pid
#设置loglevel
#设置logfile为/var/log/redis_6379.log
#设置dir为/var/redis/6379
  6)使用下面命令设置新的init脚本



sudo update-rc.d redis_6379 defaults
  7)启动redis



sudo /etc/init.d/redis_6379 start
8)确认是否OK
使用redis-cli save命令将数据dump到文件中,查看/var/redis/6379/ 下是否有dump.rdb文件以及log日志redis_6379.log是否生成在/var/log下。

二、客户端

  Redis支持很多编程语言的客户端,有C、C#、C++、Clojure、Common Lisp、Erlang、Go、Lua、Objective-C、PHP、Ruby、Scala,甚至更时髦的Node.js,当然,更少不了Java的客户端支持。Redis官方列出的Java客户端也有少,有Jedis、JRedis、JDBC-Redis、RJC等,当然,Jedis是Redis官方首选的Java客户端开发包。
Jedis的pom依赖:




redis.clients
jedis
2.2.1

  1、The Easiest Sample



//1. 与redis-server建立连接,默认端口6379
Jedis jedis = new Jedis(“master”);
//2. 设值
jedis.set("redis", "Advanced key-value store”);
//3. 去除第二步存入的键值
String value = jedis.get("redis");
System.out.println("redis=" + value);
参考:

官网: http://redis.io
Redis资料汇总专题:http://blog.nosqlfan.com/html/3537.html
博客:
http://www.nginx.cn/tag/redis
http://www.iyunv.com/shudonghe/p/3262295.html
http://www.blogways.net/blog/2013/06/02/jedis-demo.html
待续............

运维网声明 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-88718-1-1.html 上篇帖子: springMVC整合jedis+redis,以注解形式使用 下篇帖子: Redis作为消息队列服务场景应用案例
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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