链表(上) @(数据结构与算法) 链表的经典应用场景: LRU 缓存淘汰算法。 缓存是一种提高数据读取性能的计数,如常见的:CPU 缓存,数据库缓存,浏览器缓存等。 缓存的大小有限,当缓存被用满时,那些数据应该被清理出去,那些数据应该保留,这就需要缓存淘汰策略算法来决定。常见得策略有三种:先进先出策 ...
分类:
其他好文 时间:
2018-10-04 15:23:13
阅读次数:
147
对象 前面我们介绍了Redis的主要数据结构,如:简单动态字符串SDS、双端链表、字典、压缩列表、整数集合等。Redis并没有直接使用这些数据结构来实现键值对数据库,而是基于这些数据结构创建了一个对象系统,这个系统包含字符串对象、列表对象、哈希对象、集合对象和有序集合对象这五种类型的对象,每种对象都 ...
分类:
其他好文 时间:
2018-10-02 17:57:08
阅读次数:
127
本文介绍了Redis lru和lfu算法的实现,呈现了对数计数器的简单实现 ...
分类:
编程语言 时间:
2018-09-24 14:48:46
阅读次数:
185
恢复内容开始 之前我们都是学习使用MapReduce处理一张表的数据(一个文件可视为一张表,hive和关系型数据库Mysql、Oracle等都是将数据存储在文件中)。但是我们经常会遇到处理多张表的场景,不同的数据存储在不同的文件中,因此Hadoop也提供了类似传统关系型数据库的join操作。Hado ...
分类:
其他好文 时间:
2018-09-22 14:39:17
阅读次数:
283
本文根据redis的info命令查看redis的内存使用情况以及state状态,来观察redis的运行情况以及需要作出的相应优化。 info 1.used_memory 过大导致的问题 1.1.引发内存交换 当Redis内存使用率超过可用内存(maxmemory可配置)的95 ...
分类:
其他好文 时间:
2018-09-17 15:21:40
阅读次数:
191
Redis 是一个使用 C 语言写成的,开源的 key value 数据库。。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set 有序集合)和hash(哈希类型)。这些数据类型都支持push/po ...
分类:
其他好文 时间:
2018-09-16 23:58:32
阅读次数:
372
package lru; import java.util.HashMap; public class LRUCache2 { public final int capacity; class DNode{ K key; V value; DNode next; DNode pre; public.... ...
分类:
编程语言 时间:
2018-09-15 13:52:00
阅读次数:
209
引用:https://www.cnblogs.com/boothsun/p/8601474.html 一、redis redis是nosql,数据存于内存,单线程,用了多路复用I/O,1秒可处理10w的并发 1、redis支持的数据类型: string:二进制类型,一个键最大能存储512MB; li ...
分类:
其他好文 时间:
2018-09-13 16:18:03
阅读次数:
152
使用系统win10,使用pip安装selenium报错时的解决方法 pip install selenium时提示: PermissionError: [WinError 5] 拒绝访问。: 'c:\\program files\\python36\\Lib\\site-packages\\urll ...
分类:
其他好文 时间:
2018-09-09 19:51:21
阅读次数:
5594
缓存污染:缓存污染降低了缓存的使用率,把不常用的数据读取到缓存,同时会把常用的数据移出缓存,这样会直接降低系统的数据命中率 回避策略 回避策略 使用缓存淘汰算法(如:LFU, LRU)可以有效降低缓存污染的现象。 对缓存机制的理解(java) 缓存淘汰算法--LRU算法 Redis内存回收:LRU算 ...
分类:
其他好文 时间:
2018-09-09 11:36:12
阅读次数:
175