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

[经验分享] redis学习及实践1---安装+配置

[复制链接]

尚未签到

发表于 2018-11-7 09:02:31 | 显示全部楼层 |阅读模式
  因为最近项目会用到redis,之前在项目中会用到memcached,所以对redis进行了一番研究,这里做一个较详细的整理以供分享!
  一、redis介绍
  redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务器。
  Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”);也可以把每一次数据变化都写入到一个append only file(aof)里面(这称为“全持久化模式”)。它提供Python,Ruby,Erlang,PHP客户端,使用很方便。问题是这个项目还很新,可能还不足够稳定,而且没有在实际的一些大型系统应用的实例。此外,缺乏mc中批量get也是比较大的问题,始终批量获取跟多次获取的网络开销是不一样的。
  性能测试结果:
  SET操作每秒钟 110000 次,GET操作每秒钟 81000 次。
  二、redis安装
  2.1、linux安装
  2.1.1、下载安装包
  Wget http://redis.googlecode.com/files/redis-2.6.14.tar.gz
  (笔者当前的最新版是2.6.14,可以去https://code.google.com/p/redis/downloads/list查看最新版)
[root@localhost 4setup]# wget http://redis.googlecode.com/files/redis-2.6.14.tar.gz  2.1.2,安装部署
[root@localhost 4setup]# tar xzf redis-2.6.14.tar.gz  
[root@localhost 4setup]# cd redis-2.6.14
  
[root@localhost redis-2.6.14]# make
  2.1.3、启动服务
  在src目录下,运行redis-server。如果不指定conf文件的话,则按默认配置启动,如果指定conf文件的话则按conf文件的配置启动:
./redis-server ../etc/redis.conf  Redis 服务端的默认连接端口是 6379。
  2.1.4、客户端连接
  在src目录下,运行redis-cli。比如,连接本机的redis,可用如下命令:
./redis-cli -h 127.0.0.1 -p 6379  2.1.5、查看运行状态
  如果在conf文件中设置了“daemonize no”的话,则运行状态信息会在终端直接打印;
  如果设置了“daemonize yes”的话,则会以守护进程形式在后台运行,log输出位置则通过conf中的logfile设置,如:logfile /usr/local/redis/var/redis.log
  2.1.6、停止redis实例
./redis-cli shutdown  redis.conf文件的详细设置可参考:
  http://my.oschina.net/jing521/blog/91293
  另外也可参考笔者分享的另一篇文章《谈谈Memcached与Redis》
  笔者的单独的简易设置为:
daemonize yes  
pidfile /usr/local/redis/var/redis.pid
  
port 6379
  
timeout 300
  
loglevel debug
  
logfile /usr/local/redis/var/redis.log
  
databases 16
  
save 900 1
  
save 300 10
  
save 60 10000
  
rdbcompression yes
  
dbfilename dump.rdb
  
dir /usr/local/redis/var/
  
appendonly no
  
appendfsync always
  2.2、window安装
  window上的安装、配置和linux类似,甚至更简单,笔者在这就不赘述了,也可以参考以下两个链接:
  http://zheng12tian.iteye.com/blog/1471726
  http://www.newasp.net/soft/67186.html
  三、与memcached的比较
  memcache和redis都是内存型数据库,数据保存在内存中,通过tcp直接存取,memcached优势是速度快,并发高,缺点是数据类型有限,查询功能不强,一般用作缓存。在我们团队的项目中,一开始用的是memcached,后来用redis替代。
  相比memcached:
  1、redis具有持久化机制,可以定期将内存中的数据持久化到硬盘上。
  2、redis具备binlog功能,可以将所有操作写入日志,当redis出现故障,可依照binlog进行数据恢复。
  3、redis支持virtual memory,可以限定内存使用大小,当数据超过阈值,则通过类似LRU的算法把内存中的最不常用数据保存到硬盘的页面文件中。
  4、redis原生支持的数据类型更多,使用的想象空间更大。
  5、一致性哈希被用在redis的sharding中,一般是在负载非常高需要水平扩展时使用。我们还没有用到这方面的功能,一般的项目,单机足够支撑并发了。redis 3.0将推出cluster,功能更加强大。
  详细的对比,可参考笔者分享的另一篇文章《谈谈Memcached与Redis》。



运维网声明 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-631759-1-1.html 上篇帖子: centos6.4+redis2.6.14 安装 下篇帖子: redis学习及实践2---Redis的master/slave复制
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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