【Redis】基础知识概览

一、前言:

        我们在介绍Redis之前,先来简单了解一下NoSQL,即not  noly sql,是一种非关系型的数据库,key/value键值对存储。现有Nosql  DB产品:Redis、MongoDB、Memcached等。

        那么,我们为什么需要NoSQL非关系型数据库呢?用一句话总结是:用来解决大数据、高并发的问题。

        ①High performance - 对数据库高并发读写的需求。

        ②Huge Storage - 对海量数据的高效率存储和访问的需求。

        ③High Scalability && High Availability - 对数据库的高可扩展性和高可用性的需求。


二、基本概念:

        Redis是一个可基于内存亦可持久化的日志型、Key-Value数据库,并且提供多种语言的API。它是为应用而生。是一个高性能的key-Value数据库,每秒可以处理超过10万次读写操作。Redis的出现,很大程序上弥补了memcached这类key value存储的不足(即解决了断电后数据完全丢失的情况),在部分场合可以对关系型数据库起到很好的补充作用。

        Redis与memcached一样,为了保证效率,数据都是存在缓存中。区别是Redis会周期性的把更新的数据写入磁盘,或者把修改操作写入追加的记录文件,并在此基础上实现了master-slave(主从)同步。因为Redis支持主从不同,因此,数据可以从主服务器上向任意数量的从服务器上同步,这使得Redis可执行单层数操作,存盘可有意无意对数据进行写操作。


三、Redis和Memcached比较:

       (1)如果存储的数据不是很大的情况下,两者几乎没太大区别,性能都非常高。如果存储的数据非常大的情况下,那么memcached性能略高,因为Memcached是多线程的,Redis是单线程的。

       (2)Redis断电之后有两种恢复方法:一是通过日志回复数据,而是通过本身自带的数据文件恢复数据。

       (3)memcached数据没有类型。Redis:包括string(字符串)、list(链表)、set(集合)、zset(有序集合)、hash(哈希)高级的数据结构,可以把集合做成队列、栈等高级的数据结构。

       (4)memcached是通过客户端驱动实现了集群的配置,而Redis是通过服务器端配置实现集群的。而且Redis有主从的复制功能(同步功能)。

       (5) Redis与memcached一样,为了保证效率,数据都是存在缓存中。区别是Redis会周期性的把更新的数据写入磁盘,或者把修改操作写入追加的记录文件,并且在此基础上实现主从同步。(Redis也可能会有一小部分数据丢失)。    

                 


四、Redis应用:

       Redis的出色之处不仅仅是性能,其最大的特色在于,Redis支持复杂的数据结构,因此Redis可以用来实现很多有用的功能。例如,用它的链表数据结构来 做FIFO(先入先出)双向链表,实现一个轻量级的高性能消息队列服务,用它的集合数据结构可以做高性能的标签系统等。由于Redis可以对存入的键值设置声明周期,因此还能当做一个功能加强版的Memcached。

       Redis广泛应用于大量Web2.0网站与服务。如目前,新浪微博目前正在使用Redis,处理大量的数据。我们目前ITOO系统的公共选修模块,准备使用Redis,来实现所谓的“秒杀”功能。当公共选修时间开始时:假定教师端设置《鬼谷子》这门课程为最多50人可选择,不能出现第51个人选择了这个课程,并且提示选课成功的现象。

        


评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值