(转)Redis研究(一)—简介
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研究(一)—简介相关推荐
- Redis和nosql简介,api调用;Redis数据功能(String类型的数据处理);List数据结构(及Java调用处理);Hash数据结构;Set数据结构功能;sortedSet(有序集合)数
1.Redis和nosql简介,api调用 14.1/ nosql介绍 NoSQL:一类新出现的数据库(not only sql),它的特点: 1. 不支持SQL语法 2. 存储结构跟传统关系型数 ...
- NoSQL数据库Redis使用命令简介
NoSQL 数据库Redis使用命令简介 NOSQL数据库可以按照它们的数据模型分成4类: 1.键-值对存储库(Key-Value) redis-- 2.BigTable实现(BigTable-imp ...
- 341.基于高通量测序的微生物组研究技术简介
基于高通量测序的微生物组研究技术简介 --微生物组研究,从方案设计到写作套路(一) 作者:王晓雯 凌波微课 版本1.0.2,更新日期:2020年9月22日 微生物组研究的热潮愈演愈烈,已经深入到我们生 ...
- CREO:CREO软件之零件【分析】之管理、自定义、模型报告、测量、检查几何、设计研究的简介及其使用方法(图文教程)之详细攻略
CREO:CREO软件之零件[分析]之管理.自定义.模型报告.测量.检查几何.设计研究的简介及其使用方法(图文教程)之详细攻略 目录
- 一维伊辛模型C语言,伊辛模型研究进展简介.pdf
Progre ss Ch inese J ou rna l of N a tu re Vol. 30 No. 2 伊辛模型的研究进展简介 张志东 ( ) 教授 , 中国科学院金属研究所 , 中国科学院 ...
- Redis学习 - NoSQL简介、redis安装、redis基础知识、数据类型、持久化、订阅发布、主从复制、哨兵模式、缓存击穿和雪崩
学习视频地址:https://www.bilibili.com/video/BV1S54y1R7SB 完结撒花,感谢狂神 文章目录 1. NoSQL 1.1 单机Mysql的演进 1.2 当今企业架构 ...
- 缓存服务——Redis集群简介
文章目录 缓存服务--Redis集群 一.Redis简介 1.Redis软件获取和帮助 2.Redis特性 3.企业缓存数据库解决方案对比 4.Redis应用场景 二.Redis基本部署 1.编译安装 ...
- Redis及其监控工具简介
作为现在web应用开发的黄金搭档,Redis正被广泛应用于存储session信息.权限信息.交易作业等热数据.但是Redis的数据可视化不便.数据查看维护困难.Redis状态监控.运维不易等问题也是我 ...
- 【Redis】NoSQL简介
文章目录 1. 简介 2. 分类 3. 特点: 4. 适用场景 5. ACID 6. CAP理论: 7. BASE 8. 思考题: 1. 简介 NoSQL最常见的解释是"non-relati ...
最新文章
- 如何禁用Visual Studio 2013的Browser Link功能
- kubernetes一次生产故障日记
- NeuralFinder:集成人工生命和遗传算法自动发现神经网络最优结构
- leetcode976. 三角形的最大周长(又是你得不到的简单题)
- php swoole 心跳,聊聊swoole的心跳
- sklearn文档-第一次笔记
- 计算机视觉论文-2021-07-01
- 推荐一款轻量级的kafka管理平台:kafka-console-ui
- 蓝桥集训之位运算和相关函数
- MySQL 入门(四)—— 数据库操作
- 微信小程序 测试号管理(appid和密钥)
- 华为养狼,喂的是真肉
- Linux部署rsyslog日志服务器(主机部分)
- 波士顿学院计算机科学专业,波士顿学院计算机专业
- 修真院_JAVA_TASK_1
- python立方根求解_python – 如何获得立方根的整数?
- 腾讯浏览服务X5内核集成
- 电子合同渐成主流,君子签以区块链技术打造合同签约新生态
- GRAIL Efficient Time Series Representation Learning论文阅读笔记(三)
- SWIFT是什么意思?
热门文章
- c语言简单编程题模板,C语言编程题,比较简单
- MySQL read-c_技术分享 | MySQL C API 参数 MYSQL_OPT_READ_TIMEOUT 的一些行为分析
- mysql租车管理系统_基于java实现租车管理系统
- php数组能不能静态,php 为什么常量可以用数组定义 静态变量却不能
- win7一直显示正在启动_win7系统中提高启动速度并且禁用某些软件启动的操作小技巧...
- android蓝牙串口 hc06,Android手机通过蓝牙模块HC-06连接Arduino串口输出
- pandas mysql index_Pandas从入门到精通(3)- Pandas多级索引MultiIndex
- win7无法连接打印机拒绝访问_“Windows无法连接打印机,操作失败,错误为0x000003e3”...
- 电脑无线网络与服务器共享,图文详解win7笔记本如何实现内置无线局域网卡共享...
- Nginx配置以及域名转发