Redis个人心得笔记(一)

11 篇文章 0 订阅

                                         Redis个人心得笔记(一)


目录

                                         Redis个人心得笔记(一)

一.redis简介

     一.redis是什么

     二.redis特点   

     二.Redis应用场景

     三.使用Redis有哪些好处?

     四.redis和其他缓存数据库的区别优势       

      redis相比memcached有哪些优势?

     Memcache与Redis的区别都有哪些?

     五.redis的持久化

redis配置文件被分成了几大块区域,它们分别是:

                                       下篇博客实战笔记指令     

               https://blog.csdn.net/LiuY521/article/details/90667033                                   


一.redis简介

     一.redis是什么

  • 非关系型数据库nosql,key-value存储,可持久化,支持分布式,内存
  • Redis是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库
  • Redis全称为:Remote Dictionary Server(远程数据服务),该软件使用C语言编写Redis是一个key-value存储系统,它支持丰富的数据类型,如:string、list、set、zset(sorted set)、hash。   
  • 开源的 底层是C语言写的          http://www.redis.io  Redis官网

     二.redis特点   

  • Redis以内存作为数据存储介质,所以读写数据的效率极高,远远超过数据库。以设置和获取一个256字节字符串为例,它的读取速度可高达110000次/s,写速度高达81000次/s。
  • Redis跟memcache不同的是,储存在Redis中的数据是持久化的,断电或重启后,数据也不会丢失。因为Redis的存储分为内存存储、磁盘存储和log文件三部分,重启后,Redis可以从磁盘重新将数据加载到内存中,这些可以通过配置文件对其进行配置,正因为这样,Redis才能实现持久化。
  • Redis支持主从模式,可以配置集群,这样更利于支撑起大型的项目,这也是Redis的一大亮点。

 

     二.Redis应用场景

        众多语言都支持Redis,因为Redis交换数据快,所以在服务器中常用来存储一些需要频繁调取的数据,这样可以大大节省系统直接读取磁盘来获得数据的I/O开销,更重要的是可以极大提升速度。(存储内存中)

          拿大型网站来举个例子(天猫,京东),比如a网站首页一天有100万人访问,其中有一个板块为推荐新闻。要是直接从数据库查询,那么一天就要多消耗100万次数据库请求。上面已经说过,Redis支持丰富的数据类型,所以这完全可以用Redis来完成,将这种热点数据存到Redis(内存)中,要用的时候,直接从内存取,极大的提高了速度和节约了服务器的开销。

     三.使用Redis有哪些好处?

  • (1) 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)

  • (2) 支持丰富数据类型,支持string,list,set,sorted set,hash

  • (3) 支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行

  • (4) 丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自动删除

     四.redis和其他缓存数据库的区别优势       

                                                                                     Memcache简介
Memcache是一个自由和开放源代码、高性能、分配的内存对象缓存系统。用于加速动态web应用程序,减轻数据库负载。它可以应对任意多个连接,使用 非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个Hash表,Memcached自管理这些Hash表。
Memcached是简单而强大的。它简单的设计促进迅速部署,易于发展所面临的问题,解决了很多大型数据缓存。它的API可供最流行的语言。

                                                                                   Memcached简介
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。

Memcached特点:

  • 在内存中以键/值对存储,性能好。
  • 协议简单(基于文本行),功能强大。
  • 基于libevent的事件处理,无阻塞通信,对内存读写速度非常快。
  • 基于客户端的分布式,服务端多个Memcached之间不互相通信。
  • 服务端以守护进程运行,客户端可以用任何语言来编写。

      redis相比memcached有哪些优势?

  • (1) memcached所有的值均是简单的字符串,redis作为其替代者,支持更为丰富的数据类型  (五种)

  • (2) redis的速度比memcached快很多

  • (3) redis可以持久化其数据  save存储硬盘中

     Memcache与Redis的区别都有哪些?

1)、存储方式

Memecache把数据全部存在内存之中,断电后会挂掉,数据不能超过内存大小。(不可持久化,无法处理容灾,无法处理雪崩)   

Redis有部份存在硬盘上,这样能保证数据的持久性。save可以持久化存储到硬盘中

2)、数据支持类型

Memcache对数据类型支持相对简单。

Redis有复杂的数据类型。string、list、set、zset(sorted set)、hash

3)、使用底层模型不同

它们之间底层实现方式 以及与客户端之间通信的应用协议不一样。

Redis直接自己构建了VM 机制 ,因为一般的系统调用系统函数的话,会浪费一定的时间去移动和请求。

4)value大小

redis最大可以达到1GB,而memcache只有1MB

5)性能

Redis单例单线程,非阻塞   Memcache单进程多线程;有资源的争抢 

 

     五.redis的持久化

可持久化: redis是主要将数据存储在内存中(特点:快,可靠性不高),为了防止内存数据宕机丢失,创建的持久化功能,可以根据需求,将内存数据保存在磁盘中,一旦故障,可以实现数据的恢复功能.

支持分布式:redis服务端是单例单线程的,利用线程非阻塞原理实现高吞吐量(1秒钟万条数据的读写操作).单个的redis节点(启动的一个server进程)不足以实现某个服务器的cpu性能,redis都是以集群节点的结构存在的(分布式的,高可用的结构)

内存: 主要处理数据的介质就是内存

       

redis配置文件被分成了几大块区域,它们分别是:

  • 1.通用(general)
  • 2.快照(snapshotting)
  • 3.复制(replication)
  • 4.安全(security)
  • 5.限制(limits)
  • 6.追加模式(append only mode)
  • 7.LUA脚本(lua scripting)
  • 8.慢日志(slow log)
  • 9.事件通知(event notification)

                                       下篇博客实战笔记指令     

               https://blog.csdn.net/LiuY521/article/details/90667033                                   

参考文档

https://blog.csdn.net/yuzsmc/article/details/81979262

https://blog.csdn.net/lbb17745169396/article/details/79752992

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值