自学Redis第一天

一,Redis简介

Redis是属于NoSQL的一种,NoSQL(Not only sql)不是一种语言,是一类数据库的统称。

Redis是以Key-value的形式存储在nosql中的。并且它的数据都是存在我们的内存当中的(内存的效率是我们的磁盘效率的10w倍),这就是Redis为什么读取效率这么高的原因之一。接着我们还应该知道Redis的作用是什么?它主要是用来对我们数据库的数据进行缓存的。意思就是我们有时候会把数据库中的数据缓存到redis中,由于它的读写速度极快,这样子做可以大大的提高我们界面的刷新率。

接着我们还要知道redis存取数据的原理。首先Redis是以solt(槽)作为我们的数据存储单元的,每一个槽里面都可以存n个多的键值对。Redis中固定有16384个槽。这里值得我们思考,为什么是n个键值对。因为前面所说,redis的数据是存在内存当中的,假如我们有一个8G的内存,其他程序占用了4G,现在剩下的4G可供我们的redis使用,4G/16384,得到的就是我们的每个槽可存放的键值对的个数,所以说槽的大小是不固定的。每一个向Redis存储数据的key都会进行crc16算法,得出来一个值,再把这个值对我们的16384取模,就会得到一个 0 ~ 16383的数,这个数就代表我们这个key在我们redis存放的solt(槽)的位置。

同时通过 Redis Sentinel(哨兵) 提供高可用, 通过Redis cluster (集群)提供自动分区。

二,使用Redis的流程,(边路缓存)这里我区分一下和我之前写代码的流程

以前我写代码都是dao层直接开始调用我们的数据库,对数据库进行增删改查。

现在的思路是:

1,首先应用程序先向Redis查询数据

2,判断key是否存在

3,如果存在,把我们的结果直接拿出来,返回给我们的程序。

4,如果不存在,向我们的数据库进行查询,把从数据库拿到的结果集返回给程序,最后还是需要在Redis中进行缓存。

直接上图加深印象吧。

 

----以上内容是学自尚学堂,自己再加以理解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值