使用AOP以及注解实现缓存组件 1. 为什么使用AOP和注解实现缓存? 项目是一个报表系统,使用druid.io查询hue,每次查询巨大,可以达到每次30多M,而且后台也有很多运算,每次查询对服务器对压力很大,经常出现young gc,因此计划加入缓存提高查询效率,同时减少服务端的压力。 2. 为什 ...
分类:
其他好文 时间:
2018-09-28 16:41:41
阅读次数:
394
现如今Redis已经不折不扣的成为缓存技术中的主流中间件,基本上大型的系统都会选择Redis缓存来提升系统性能。 由于在目前开发项目中也有使用Redis,在使用以及了解Redis的过程中被Redis优秀的设计与实现所吸引,Redis本身是基于C语言实现的高级应用,Redis内部也大量使用了经典数据结 ...
分类:
其他好文 时间:
2018-09-25 23:02:08
阅读次数:
201
1.增加缓存(把常使用的数据存在缓存中) mysql缓存 redis缓存 2.使用索引 3.优化数据库的数据类型(使用能存储数据的最短类型uchar(16)) 4.对表进行拆分 项目开发过程中,我们数据的数据库数据越来越大,随之而来的是单个表中数据太多。以至于查询速度变慢。出现这种情况时,我们可以考 ...
分类:
数据库 时间:
2018-09-25 19:30:50
阅读次数:
163
【问题现象】 项目遗留问题:项目一般用redis作为缓存,并发量突增时很容易出现TCP连接失败(无可用端口) 【问题分析】 根据错误日志,排查出是连接数达到了最大值,(其实通过 netstat -anp|grep TIME_WAIT|wc -l也可以初略统计出当前的连接数),导致redis缓存无法使 ...
分类:
其他好文 时间:
2018-09-25 14:05:42
阅读次数:
1023
缓存 作为Key-Value形态的内存数据库,Redis 最先会被想到的应用场景便是作为数据缓存。而使用 Redis 缓存数据非常简单,只需要通过string类型将序列化后的对象存起来即可,不过也有一些需要注意的地方: 必须保证不同对象的 key 不会重复,并且使 key 尽量短,一般使用类名(表名 ...
分类:
其他好文 时间:
2018-09-22 21:11:31
阅读次数:
175
Spring Data Redis隶属于Spring Data家族, 提供简单易用的方式来访问Redis缓存。 Spring Data Redis在往Redis里面写数据的时候,默认会先对数据进行序列化,然后把序列化之后的字节码写入Redis;然后当Spring Data Redis从Redis里取 ...
分类:
编程语言 时间:
2018-09-21 15:21:37
阅读次数:
196
1.客户端有时候会中文乱码,使用命令 2. 原文中说,集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)其实不太准确。 其实在redis sorted sets里面当items内容大于64的时候同时使用了hash和skiplist两种设计实现。这也会为了排序和查找性能做的优化。所以如上 ...
分类:
其他好文 时间:
2018-09-21 11:35:34
阅读次数:
152
以程序为例,tomcat里是我们的java应用,第一步会先从redis获取,如果没有,就会从db上面获取,如果取出了,他还会把取出的东西重新写回redis 使用缓存的步骤: 一、在SellApplication上添加注解@EnableCaching 如果你想引入缓存的话,可以在pom上直接写入以下代 ...
分类:
编程语言 时间:
2018-09-21 00:37:58
阅读次数:
152
1. redis加锁分类 2. 第一种锁命令INCR 这种加锁的思路是, key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作进行加一。 然后其它用户在执行 INCR 操作进行加一时,如果返回的数大于 1 ,说明这个锁正在被使用当中。 3. 第二种锁SETNX 这种加锁 ...
分类:
其他好文 时间:
2018-09-17 11:47:47
阅读次数:
207
缓存数据库介绍 NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库,随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非 ...
分类:
数据库 时间:
2018-09-16 19:46:16
阅读次数:
211