volatile-lru:当内存不足执行写入操作时,在设置了过期时间的键空间中,移除最近最少(最长时间)使用的 key。allkeys-lru:当内存不足执行写入操作时,在整个键空间中,移除最近最少(最长时间)使用的 key。(这个是最常用的)volatile-lfu:当内存不足执行写入操作时,在设置了过期时间的键空间中,移除最不经常(最少次)使用的key。allkeys-lf
1、缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起为id为“-1”的数据或id为特别大不存在的数据。这时的用户很可能是gongji者,gongji会导致数据库压力过大。解决方法: 缓存空对象2、缓存击穿是指缓存中没有但数据库中有的数据(一般是缓存时间到期),这时由于并发用户特别多,同时读缓存没读到数据,又同时去数据库去取数据,引起数据库压力瞬间增大,造成过大压力解决方
一、ZSet介绍sorted set 存储有序的元素。每个元素都有个 score,按照 score 从小到大排序。score 相同时,按照 key 的ASCII码排序。操作命令# 添加元素 zadd myzset 10 java 20 php&nbs
String、Hash、Set、List、Zset、Hyperloglog、Geo、Streams一、String最基本也是最常用的数据类型就是String。get和set命令就是String的操作命令,Redis的字符串被叫做二进制安全的字符串(Binary-safe strings)。String可以存储三种类型,INT(整数)、float(单精度浮点数)、string(字符串)。&
1. 二叉查找树(Binary Search Trees)左节点比父节点要小,右节点比父节点要大。它的高度决定的查找效率。如果某一列数据遇到像‘倾斜二叉查找树’,那么这个二叉树索引,其实就成了“链表”,查询此列数据还是全表扫描的方式,就失去了加索引的意义。树在插入的时候非常有可能导致倾斜,不同的插入顺序会导致树的高度不一样,而树的高度直接影响了树的查找效率。不平衡的二
一、事物的特性原子性:通过undolog实现。持久性:通过redolog实现。隔离性:通过加锁(当前读)&MVCC(快照读)实现。一致性:通过undolog、redolog、隔离性共同实现。二、快照读和当前读快照读: 读取的是记录数据的可见版本(有旧的版本)。不加锁,普通的select语句都是快照读,如:select * from core_user
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号