Redis系列-1.介绍
来源:互联网 发布:it编程 编辑:程序博客网 时间:2024/06/14 15:27
Redis系列-1.介绍
文章中可能有偏差,欢迎大家留言指证。
这一节主要是介绍redis,可能有部分地方没有说的太细或是不太好明白为什么,在后面的文章中会逐步的理解进去。
- Redis系列-1介绍
- 什么是redis
- redis的一些特性
- 它适合做什么
- 它不适合做什么
- 使用建议
1.什么是redis
redis是nosql的一种,nosql就是指非关系型数据库。nosql大体上分为三类:键值型(redis)、文档型(MongoDb)、列存储类型(HBase)。这里说的redis就是KV型,常用来做缓存,因其是内存型数据库,读写速度非常快。这里有一个分析:http://blog.csdn.net/chenleixing/article/details/43192639
2.redis的一些特性
速度快:都运行在内存上,速度当然快啦简单稳定:redis是由C语言写成的,而且代码量也不大,在3W行左右(3.0以后在5W行左右),简单高效稳定。客户端语言多:大部分语言都支持,比如java、php、python、C、C++、C#等。持久化:有持久化到硬盘上的机制,不会在断电后丢失所有数据高可用和分布式
3.它适合做什么?
在用每一个东西时都要了解它的长处和短处,redis也不是万能的,在部分情况下使用它效果非常好,但是在有些情况下使用会很糟糕(比如sql里的复杂查询)他适合:缓存:因其读写非常快,用来当缓存是再好不过了排行榜:redis提供了列表和有序集合的数据结构,而内部也建立了针对的机制。比如要读取某一个列表的总数,传统的数据库会去遍历,而redis取值就可以了。他的列表和有序集合也适合做排行榜。计数器:有时会大量用到计数器,比如视频网站的播放量、网站的浏览数。redis内置的部分机制会使得这种操作时间复杂度非常小。消息队列:redis的列表结构非常适合做队列和栈。社交网络:下拉刷新、按喜好推送等社交网络上的功能,对网站的访问量非常大,传统的关系型数据库不适合保持这类数据,redis提供的数据结构相对比较容易实现。
4.它不适合做什么
前面说到,redis也不万能的。下列情况下不适合redis:
数据量大:redis是运行在内存中的,内存现在虽然便宜下来了,但还是比硬盘贵上许多。
冷数据:对于一些记录,比如视频网站中用户的播放记录,这些记录相对视频信息会冷上不少。这样的数据放在内存中是比较浪费的。
复杂查询:nosql在复杂查询方面比不上传统的数据库。
5.使用建议
redis在使用时,不管是开发还是运维都要深入去了解和理解,不能当黑盒使用。特别是在对性能要求非常高的项目中,设计数据时参考redis不同的数据结构的优缺点时,往往会使性能提高不少。对有些公司或项目组来说,redis有时不能满足需要。可以阅读redis的源码。阅读代码不光能加深理解,还可以做一些定制化,通过修改redis源码来达到需求。
阅读全文
0 0
- Redis系列-1.介绍
- redis系列 ---简单介绍
- Redis系列学习笔记-1 Redis介绍
- redis(系列一)入门介绍
- Redis系列----(一)介绍与安装
- Redis系列(1)---Redis的介绍和安装
- 1.redis介绍
- Redis系列(一)——介绍及安装配置
- Redis系列(三)——主从介绍和配置
- redis学习系列之——介绍篇
- Redis系列
- Redis系列
- Redis系列
- redis系列-redis安装
- redis介绍
- redis 介绍
- redis 介绍
- redis介绍
- 多线程间通信的方法
- HDU 4035 Maze(概率DP)
- JAVA设计模式之单例模式
- LeetCode.477 Total Hamming Distance
- 二维数组与数组指针
- Redis系列-1.介绍
- url 在chrome可以 firefox可以 IE报错?
- [安全漏洞公告专区]【漏洞公告】WordPress的Display Widgets插件存在后门
- 删除git本地分支遇到的一个小问题
- Robot Framework+Appium案例分享一: 验证版本信息
- 关于MYSQL 的 AUTO-INC Locks
- vcpu和cpu的关系
- 虚拟机下Linux Ubuntu装jdk过程
- 接口返回值统一对象