Redis相关

        下面是个人关于对redis的一些了解,如果遗漏或错误,欢迎评论指出

            

    Redis本质上一个key-value类型的内存数据库

    Redis不仅可以保存String类型的数据,还能保存List类型(有序)和Set类型(无序)的数据,还能完成排序(SORT)等高级功能(redis提供五种数据类型:string,hash,list,set及zset(sorted set))

    Redis的数据都需要放在内存中,相较于读磁盘中的数据,显然对内存的读写速度快的多,同时它又具有持久化到硬盘的功能.如果设置了最大使用的内存,则数据已有记录数达到内存限值后不能继续插入新值.

    Redis的持久化:RDB持久化   AOF持久化

    RDB持久化:指在指定的时间间隔内将内存中的数据集快照写入磁盘

    AOF持久化:AOF文件是可识别的纯文本.以日志的形式记录服务器所处理的每一个写操作,在redis服务器启动之初会读取该文件来重新构建数据库

    Redis的使用场景:

                       会话缓存,全页缓存,队列,排行榜/计数器,发布/订阅

                       主要是做缓存处理和处理并发量大的时候

    Redis的使用方式:

            Spring-data-redis是spring-data大家族的一部分,提供了在spring应用中通过简单的配置访问redis服务,对redis底层开发包(Jedis,JRedis,andRjc)进行了高度封装,RedisTemplate提供了redis的各种操作.

           第一种方式:使用redis模板

                  在工程中添加pom依赖,然后修改配置文件,springboot项目的yml文件中,在spring节点下添加redis配置,然后使用redisTemplate进行操作.

                   注入redis:@Autowired   

                                    private RedisTemplate

                   使用redis模板调用API操作,调用redisTemplate去redis里面查,当查出的数据为null时,就去数据库进行查询操作(Redis数据库中数据不存在),将刚刚从数据库中查询的数据,存入Redis(将从数据库中查到的数据set到redis中),通过设置过期时间,来解决redis中不常用的数据(redisTemplate.opsForValue(....,..,1,TimeUnit.Days))

           第二种方式:注解

                   1 引入pom依赖

                   2 修改application.yml,在spring节点下添加redis配置

                   3 为启动类添加@EnableCaching开启缓存支持

                   4 在实现类的方法添加缓存注解,这样当此方法第一次运行,在缓存中没有找到对应的value和key,则将查询结果放入缓存

                   5 当我们对数据进行删改的时候,需要更新缓存,其实更新缓存也就是清除缓存,因为清除缓存后,用户再次调用查询方法,无法提取缓存,会重新查找数据库中的记录并放入缓存.

 

查:添加缓存的注解

@Cacheable(value=" ",key=" ")

删改:清理缓存的注解

@CacheEvict(value=" ",key=" ")

 

redisTemplate与注解开发的区别:

redisTemplateSpring Cache
需要编码注解配置即可
可以设置失效时间

不可以设置

         根据业务具体需求来定,若redis中数据不需要清理,则使用Spring Cache,若定期清理redis中的数据,则使用redisTemplate,然后设置失效时间.

 

Memcache 与 Redis 的区别都有哪些?
(1)、存储方式不同,Memcache 是把数据全部存在内存中,数据不能超过内存的大小,断电后数据库会挂掉。
感恩于心,回报于行。  面试宝典系列-Java
http://www.itheima.com Copyright©2018 黑马程序员 
438
Redis 有部分存在硬盘上,这样能保证数据的持久性。
(2)、数据支持的类型不同 memcahe 对数据类型支持相对简单,redis 有复杂的数据类型。
(3)、使用底层模型不同 它们之间底层实现方式 以及与客户端之间通信的应用协议不一样。Redis 直接自己
构建了 VM 机制 ,因为一般的系统调用系统函数的话,会浪费一定的时间去移动和请求。
(4)、支持的 value 大小不一样 redis 最大可以达到 1GB,而 memcache 只有 1MB

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值