redis基础

1、redis是什么:

redis的出现时间并不长,是NoSQL中的一种,基于键-值型的存储,与memcache类似,但是memcache中只是内存的缓存,而redis不仅是内存中的缓存,还提供持久存储,在2009年第一次发布redis

Redis 全称(REmote DIctionary Server)远程字典服务器,而这个字典服务器从本质上来讲,主要是提供数据结构的远程存储功能的,可以理解为redis是一个高级的K-V存储,和数据结构存储,因为redis除了能够存储K-V这种简单的数据之外,还能够存储,列表、字典、hash表、等对应的数据结构

在性能上redis不比memcache差,因为redis整个运行通通都是在内存中实现的,它的所有的数据集都是保存在内存中的,内存中的数据会周期性的写入到磁盘上,以实现数据的持久功能,而这种写磁盘并不是用于访问,而仅是冗余功能,所以redis所有功能都在内存中完成,因为此性能也是可想而知

redis与mamcache不同之处在于redis有一个周期性的将数据保存到磁盘上的机制,而且不只一种,有两种机制,这也是redis持久化的一种实现,另外与mamcache有所区别的是,redis是单线程服务器,只有一个线程来响应所有的请求

redis支持主从模式,但是redis的主从模式默认就有一个sentinel工具,从而实现主从架构的高可用,也就是说,redis能够借助于sentinel工具来监控主从节点,当主节点发生故障时,会自己提升另外一个从节点成为新的主节点

在redis 3.0版本发布,开始支持redis集群,从而可以实现分布式,可以将用户的请求分散至多个不同节点

 

2、  redis所支持的数据类型

       支持存储的数据类型有、String(字符串,包含整数), List(列表), Hash(关联数组), Sets(集合), Sorted Sets(有序集合), Bitmaps(位图), HyperLoglog(超小内存唯一值计数),GEO(地理信息定位)

 

3、  redis性能评估:

   (1)100万较小的键存储字符串,大概消耗100M内存

  (2)由于redis是单线程,如果服务器主机上有多个CPU,只有一个能够使用,但并不意味着CPU会成为瓶颈,因为redis是一个比较简单的K-V数据存储,CPU通常不会成为瓶颈的

     (3)在常见的linux服务器上,500K(50万)的并发,只需要一秒钟处理,如果主机硬件较好的情况下,每秒钟可以达到上百万的并发

 

4 、 Redis与Memcache对比:

       Memcache是一个分布式的内存对象缓存系统

       而redis是可以实现持久存储

       Memcache是一个LRU的缓存

       redis支持更多的数据类型

       Memcache是多线程的

       redis是单线程的

       二者性能几乎不相上下,实际上redis会受到硬盘持久化的影响,但是性能仍然保持在与Memcache不相上下,是非常了不起的

 

5 、 Redis的优势:

       丰富的(资料形态)操作

              String(字符串,包含整数), List(列表), Hash(关联数组), Sets(集合), Sorted Sets(有序集合), Bitmaps(位图), HyperLoglog

       内建Replication和culster(自身支持复制及集群功能)

       支持就地更新(in-place update)操作,直接可以在内存中完成更新操作

       支持持久化(磁盘)

       避免雪崩效应,万一出现雪崩效应,所有的数据都无法恢复,但redis由于有持久性的数据,可以实现恢复

6、  Memcached的优势:

       多线程

              善用多核CPU

              更少的阻塞操作

       更少的内存开销

       更少的内存分配压力

       可能有更少的内存碎片

官网地址:http://www.redis.cn

7、版本

奇数结尾的版本是非稳定版本

偶数结尾的是稳定版本,建议使用稳定版。

8、redis典型使用场景

(1)缓存系统

(2)计数器

(3)消息队列系统

(4)排行榜

(6)社交网络

9、redis的安装

$ wget http://download.redis.io/releases/redis-5.0.4.tar.gz
$ tar xzf redis-5.0.4.tar.gz /usr/local
$ cd /usr/local/
$ cd redis-5.0.4
进行make编译之前确保已经安装了gcc
$ make

如果make报类似以下错误:

zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory  #include <jemalloc/jem

执行    make MALLOC=lib    就行了

10、打开redis服务

src/redis-server

11、进入redis控制台

另打开一个会话,输入

cd /usr/local/redis-5.0.4

src/redis-cli

12、关闭redis服务

ps -ef | grep redis

kill 进程号

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值