http://blog.csdn.net/wtyvhreal/article/details/41855327

Redis是一个开源的高性能键值对数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,并借助许多高层级的接口使其可以胜任如缓存、队列系统等不同的角色。

1.1历史和发展

2008年,意大利一家创业公司Merzia的创始人Salvatore Sanfilippo为了避免MySQL的低性能,亲自定做一个数据库,并于2009年开发完成,这个就是redis。

短短几年,用户数据量猛增。国内如新浪微博、街旁和知乎等,国外如GitHub、暴雪等,都是Redis的用户。

Redis的代码托管在GitHub上,开发十分活跃。

1.2特性

 

1.2.1存储结构

Redis是REmote DIctionary Server(远程字典服务器)的缩写,他以字典结构存储数据,并允许其他应用通过TCP协议读写字典里的内容,Redis字典中的键值除了可以是字符串外,还可以是其他数据类型,比如

字符串类型
     散列类型

列表类型

集合类型

有序集合类型

这种字典形式的存储结构与常见的mysql等关系数据库的二维表形式的存储结构有很大的差异。

(1)支持开发者可以将程序中的数据直接映射到Redis中

(2)对不同数据类型提供了非常方便的操作方式,如使用集合类型存储文章标签,Redis可以对标签进行如交集、并集这样的集合运算操作。

1.2.2内存存储与持久化

Redis数据库中的所有数据都存储在内存中,由于内存的读写速度远快于硬盘,性能明显优势,无时延情况下Redis可以在一秒内读写超过100000个键值。

将数据存储在内存中也有问题,程序退出后内存中的数据会丢失,但是,Redis提供了对持久化的支持,即可以将内存中的数据异步写入到硬盘中,同时不影响继续提供服务。

1.2.3功能丰富

用作缓存、队列系统等。

Redis可以为每个键设置生存时间(TTL),生存时间到期后键会自动被删除,这一功能配合出色的性能让Redis可以作为缓存系统来使用,成为了缓存系统Memcached的有力竞争者。

性能上:Redis是单线程模型,而Memcached支持多线程,多核服务器上后者性能好点。

但是Redis大多数情况下足够优异都不会成为瓶颈,如果需要用到高级的数据类型或者持久化功能等,Redis会更好点。

作为缓存系统,Redis还可以限定数据占用的最大内存空间,在数据达到空间限制后可以按照一定的规则自动淘汰不需要的键。

除此之外,Redis的列表类型键可以实现队列,并且支持阻塞式读取,可以很容易实现一个高性能的优先队列。同时在更高层面上,Redis还支持“发布 /订阅”的消息模式,可以基于此构建聊天室等系统。

1.2.4简单稳定

Redis提供一百多中命令,但是常用的就十几种。

Redis提供了几十种不同编程语言的客户端库,很好的封装了Redis的命令,使得在程序中与Redis交互变得更容易。

Redis使用C语言开发,代码量只有30000多行,易懂易修改,好维护。

Redis是开源的,稳定版本非常可靠。

(转)Redis研究(一)—简介相关推荐

  1. Redis和nosql简介,api调用;Redis数据功能(String类型的数据处理);List数据结构(及Java调用处理);Hash数据结构;Set数据结构功能;sortedSet(有序集合)数

    1.Redis和nosql简介,api调用 14.1/ nosql介绍 NoSQL:一类新出现的数据库(not only sql),它的特点: 1.  不支持SQL语法 2.  存储结构跟传统关系型数 ...

  2. NoSQL数据库Redis使用命令简介

    NoSQL 数据库Redis使用命令简介 NOSQL数据库可以按照它们的数据模型分成4类: 1.键-值对存储库(Key-Value) redis-- 2.BigTable实现(BigTable-imp ...

  3. 341.基于高通量测序的微生物组研究技术简介

    基于高通量测序的微生物组研究技术简介 --微生物组研究,从方案设计到写作套路(一) 作者:王晓雯 凌波微课 版本1.0.2,更新日期:2020年9月22日 微生物组研究的热潮愈演愈烈,已经深入到我们生 ...

  4. CREO:CREO软件之零件【分析】之管理、自定义、模型报告、测量、检查几何、设计研究的简介及其使用方法(图文教程)之详细攻略

    CREO:CREO软件之零件[分析]之管理.自定义.模型报告.测量.检查几何.设计研究的简介及其使用方法(图文教程)之详细攻略 目录

  5. 一维伊辛模型C语言,伊辛模型研究进展简介.pdf

    Progre ss Ch inese J ou rna l of N a tu re Vol. 30 No. 2 伊辛模型的研究进展简介 张志东 ( ) 教授 , 中国科学院金属研究所 , 中国科学院 ...

  6. Redis学习 - NoSQL简介、redis安装、redis基础知识、数据类型、持久化、订阅发布、主从复制、哨兵模式、缓存击穿和雪崩

    学习视频地址:https://www.bilibili.com/video/BV1S54y1R7SB 完结撒花,感谢狂神 文章目录 1. NoSQL 1.1 单机Mysql的演进 1.2 当今企业架构 ...

  7. 缓存服务——Redis集群简介

    文章目录 缓存服务--Redis集群 一.Redis简介 1.Redis软件获取和帮助 2.Redis特性 3.企业缓存数据库解决方案对比 4.Redis应用场景 二.Redis基本部署 1.编译安装 ...

  8. Redis及其监控工具简介

    作为现在web应用开发的黄金搭档,Redis正被广泛应用于存储session信息.权限信息.交易作业等热数据.但是Redis的数据可视化不便.数据查看维护困难.Redis状态监控.运维不易等问题也是我 ...

  9. 【Redis】NoSQL简介

    文章目录 1. 简介 2. 分类 3. 特点: 4. 适用场景 5. ACID 6. CAP理论: 7. BASE 8. 思考题: 1. 简介 NoSQL最常见的解释是"non-relati ...

最新文章

  1. 如何禁用Visual Studio 2013的Browser Link功能
  2. kubernetes一次生产故障日记
  3. NeuralFinder:集成人工生命和遗传算法自动发现神经网络最优结构
  4. leetcode976. 三角形的最大周长(又是你得不到的简单题)
  5. php swoole 心跳,聊聊swoole的心跳
  6. sklearn文档-第一次笔记
  7. 计算机视觉论文-2021-07-01
  8. 推荐一款轻量级的kafka管理平台:kafka-console-ui
  9. 蓝桥集训之位运算和相关函数
  10. MySQL 入门(四)—— 数据库操作
  11. 微信小程序 测试号管理(appid和密钥)
  12. 华为养狼,喂的是真肉
  13. Linux部署rsyslog日志服务器(主机部分)
  14. 波士顿学院计算机科学专业,波士顿学院计算机专业
  15. 修真院_JAVA_TASK_1
  16. python立方根求解_python – 如何获得立方根的整数?
  17. 腾讯浏览服务X5内核集成
  18. 电子合同渐成主流,君子签以区块链技术打造合同签约新生态
  19. GRAIL Efficient Time Series Representation Learning论文阅读笔记(三)
  20. SWIFT是什么意思?

热门文章

  1. c语言简单编程题模板,C语言编程题,比较简单
  2. MySQL read-c_技术分享 | MySQL C API 参数 MYSQL_OPT_READ_TIMEOUT 的一些行为分析
  3. mysql租车管理系统_基于java实现租车管理系统
  4. php数组能不能静态,php 为什么常量可以用数组定义 静态变量却不能
  5. win7一直显示正在启动_win7系统中提高启动速度并且禁用某些软件启动的操作小技巧...
  6. android蓝牙串口 hc06,Android手机通过蓝牙模块HC-06连接Arduino串口输出
  7. pandas mysql index_Pandas从入门到精通(3)- Pandas多级索引MultiIndex
  8. win7无法连接打印机拒绝访问_“Windows无法连接打印机,操作失败,错误为0x000003e3”...
  9. 电脑无线网络与服务器共享,图文详解win7笔记本如何实现内置无线局域网卡共享...
  10. Nginx配置以及域名转发