文档章节

redis使用小结

m
 mypsf
发布于 2016/09/04 23:57
字数 627
阅读 45
收藏 0

1 redis与memcache

        redis与memcache的主要区别:

        (1) 数据的一致性

         由于memcache将数据全部放在内存中,所以一旦宕机或者系统出现问题,数据将会丢失;而且mecache也无法保证数据不丢失。

        (2)数据的持久化

         memcache没有数据的持久化功能,而redis有数据的持久化功能。redis数据的持久化功能主要有以下两种:

         一是 快照。快照的意思是说内存中的数据会在某一时间段内将内存中的数据会写到硬盘上以及相应的操作记录追加到磁盘上。这种持久化的方式性能高,但是会造成数据的的丢失。

         二是 RBD。RDB的意思是当缓存中的数据发生变化时,会根据配置文件的设定(立刻更新还说是隔多长时间进行更新),将数据更新到硬盘。

        (3) 系统的性能

              redis的所有操作都是原子性的,而且它会把几个操作全合并后进行原子操作。redis是单进程单线程高性能服务器(公司如何做的集群???),单机qps达到10w;二memcache支持多线程,

        (4) 支持类型的多样性

             redis支持五大类型的结构:String、hash、list、set、有序set这五种。所以,redis在操作上有更所的灵活性和选择的自由。

         (5)支持主从同步    

         

2 redis的缺陷

      (1)内存管理开销大    (2)buffer io造成系统OOM(为什么)。

3 redis的应用场景

           (1)数据比较重要,对数据一致性有一定要求的业务。

           (2)当需要除key/value之外的更多的数据类型时,使用redis。

           (3)需要提供主从同步以及负载均衡的分布式应用的场景(redis主从同步)

4 redis重要参数

               redis使用的版本是2.8.

              起redis用的命令是redis -server  配合文件的路径  &

              vm.overcommit_memory的值的概念:

              (1)vm.overcommit_memory=0:当用户空间请求更多的内存时,内存尝试估算出剩余可用的内存。

              (2)内核允许超量,直到使用内存用完为止。

              (3)内核会使用一个绝不过量使用内存的算法,即系统整个内存地址空间不能超过swap+50%的RAM值,50%的参数的设定是在overcommit_ratio中设定。     

5 数据类型的选择

        (1) String

        (2) hashMap

        (3)list

        (4)set

        (5)sortedset

        

 

       

© 著作权归作者所有

上一篇: 分布式
下一篇: mysql优化
m
粉丝 0
博文 7
码字总数 2589
作品 0
朝阳
私信 提问

暂无文章

GatewayWorker 报错:stream_socket_server(): unable to connect to tcp://0.0.0.0:1238

GatewayWorker 报错:stream_socket_server(): unable to connect to tcp://0.0.0.0:1238 (Address already in use) 官方文档虽然有相同的问题,但是对我的问题没起作用…… 后面发现自己手贱...

wenzhizhong
昨天
2
0
REST接口

文章来源 https://zhuanlan.zhihu.com/p/28674721?group_id=886181549958119424 http://www.ruanyifeng.com/blog/2014/05/restful_api.html REST 对请求的约定 REST 用来规范应用如何在 HTTP......

Airship
昨天
3
0
Spring Cloud Config 统一配置中心

Spring Cloud Config 统一配置中心 一、统一配置中心 统一管理配置 通常,我们会使用配置文件来管理应用的配置。如一个 Spring Boot 的应用,可以将配置信息放在 application.yml 文件中,如...

非摩尔根
昨天
2
0
android ------ AAPT2 error: check logs for details解决方法

AAPT 是全称是 Android Asset Packaging Tool,它是构建 App,甚至是构建 Android 系统都必不可少的一个工具。它的作用是将所有资源文件压缩打包到Android APK 当中。我们在 Android SDK 目录...

切切歆语
昨天
2
0
今天的学习

今天学到了<select></select>标签: <label for="unittype">Select unit type: </label><select id="unittype" name="unittype" autofocus > <option value="1"> Miner </option> ......

墨冥
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部