前面我们提到,在防止缓存穿透的情况(缓存穿透是指,缓存和数据库都没有的数据,被大量请求,比如订单号不可能为-1,但是用户请求了大量订单号为-1的数据,由于数据不存在,缓存就也不会存在该数据,所有的请求都会直接穿透到数据库。),我们可以考虑使用布隆过滤器,来过滤掉绝对不存于集合中的元素。 布隆过滤器(BloomFilter)是由布隆(BurtonHowardBloom)在1970年提出的,它实际上是由一个很长的二进制向量和一系列随机hash映射函数组成(说白了,就是用二进制数组存储数据的特征)。可以使用它来判断一个元素是否存在于集合中,它的优点在于查询效率高,空间小,缺点是存在一定的误差,以及我...

  7jPfnBIFtnum   14天前   18   0   0 过滤器

1、头文件源码,把涉及到的进程权限的常量值都添加进去 definePROCESS_TERMINATE(0x0001) //进程权限 definePROCESS_CREATE_THREAD(0x0002) definePROCESS_SET_SESSIONID(0x0004) definePROCESS_VM_OPERATION(0x0008) definePROCESS_VM_READ(0x0010) definePROCESS_VM_WRITE(0x0020) definePROCESS_DUP_HANDLE(0x0040) definePROCESS_CREATE_PROCESS(0x...

  7jPfnBIFtnum   14天前   17   0   0

一、在MFC中添加控制码,告诉驱动我们要进行的操作 include<winioctl.h>define写测试CTL_CODE(FILE_DEVICE_UNKNOWN,0x801,METHOD_BUFFERED,FILE_ANY_ACCESS)define读测试CTL_CODE(FILE_DEVICE_UNKNOWN,0x802,METHOD_BUFFERED,FILE_ANY_ACCESS)define读写测试CTL_CODE(FILE_DEVICE_UNKNOWN,0x803,METHOD_BUFFERED,FILE_ANY_ACCESS) 二、MFC代码实现 1、...

  7jPfnBIFtnum   14天前   22   0   0 缓存数据

LFU是一个著名的缓存算法,实现LFU中的set 和 get 样例:capacity = 3 set(2,2) set(1,1) get(2) >> 2 get(1) >> 1 get(2) >> 2 set(3,3) set(4,4) get(3) >> -1 get(2) >> 2 get(1) >> 1 get(4) >> 4     我们来看看LFU的百度解释: LFU(le...

  7jPfnBIFtnum   14天前   16   0   0 lintcode缓存

平时我们使用缓存的方案,一般是在数据库中存储一份,在缓存中同步存储一份。当请求过来的视乎,可以先从缓存中取数据,如果有数据,直接返回缓存中的结果。如果缓存中没有数据,那么去数据库中取出数据,同时更新到缓存中,返回结果。如果数据库中也没有数据,可以直接返回空。 关于缓存,一般会有以下几个常见的问题 缓存穿透是指,缓存和数据库都没有的数据,被大量请求,比如订单号不可能为-1,但是用户请求了大量订单号为-1的数据,由于数据不存在,缓存就也不会存在该数据,所有的请求都会直接穿透到数据库。如果被恶意用户利用,疯狂请求不存在的数据,就会导致数据库压力过大,甚至垮掉。 注意:穿透的意思是,都没有,直接一路打...

  7jPfnBIFtnum   14天前   17   0   0 数据库缓存

之前使用极简床图,但是后来好像挂了,真是一件悲伤的事,最近才发现了一个神器,开源的PicGo,已经有各个平台的版本了。 下载好之后怎么配置呢? 配置阿里云 之前是注册阿里云认证之后就送一个oss存储(免费的),不知道现在还有没有,如果有的话就可以按照这个步骤配置下去。打开oss之后,需要自己建立Bucket(存储空间名),存储区域(比如oss-cn-qingdao),除此之外还需要keyid和keysecret。(一定要打开公共读的权限,要不是访问不了的)点击自己的头像,选择accesskeys,新建一个可key就可以了,我是新建了公共的。安装PicGo之后,打开,选择阿里云,把上面的东西配置...

  7jPfnBIFtnum   14天前   22   0   0 存储

  开局还是那种图,各位客官往下看... 享元模式(​​FlyWeight​​),是结构型模式的一种,主要是为了减少创建对象的数量,减少内存占用以及提高性能。说到这里,不知道你是否会想到池技术,比如​​String​​常量池,数据库连接池,缓冲池等等,是的,这些都应用了享元模式。比如,有一些对象,创建时候需要资源比较多,创建成本比较高,内存开销比较大,如果我们一直创建,机器吃不消,那么我们就想到了池化技术,把创建好的对象放在里面,需要时,去池子里面取就可以了,也就是大家共享了池子里面的对象,这就是共享。听名字,就很共享单车: 享元模式的特点 一般而言,享元对象需要在不同的场景下...

  7jPfnBIFtnum   14天前   18   0   0 缓存享元模式java

何为存储过程? 存储过程是在数据库管理系统中保存的、预先编译的并能实现某种功能的sql程序,说直白点,java知道吧?和java的方法一样。 每遇到一个新的知识点时,我们都会看看它的优点,从而加深对它学习的欲望,存储过程也不例外,那么存储过程有什么优点? 执行速度更快 允许模块化程序设计  提高系统安全性 减少网络流通量 看完优点之后,我们再来看看存储过程的分类有哪些,然后我们按照分类一个一个的写(演示)。 系统存储过程     系统存储过程的名称一般以“sp_”开头     由SQLServ...

  7jPfnBIFtnum   14天前   20   0   0 数据库存储

说明:记录一次JVM内存溢出的排查过程; 场景 项目开发完成后,首次提交到测试环境。测试、产品同事反馈页面先是操作响应慢,抛出超时异常,最后直接无法使用。查看日志后得知是内存溢出。 重启服务后,我对前端主要的几个长RT接口,使用Arthas进行了trace; 排查 Step1:SQL问题 锁定到了时间主要消耗在一次数据库操作,首先想到这段SQL是否有问题。 但我把SQL单独取出来,拼接参数执行,时长非常短,不应该啊。 Step2:拦截器 这期间,我做了很多尝试,看了很多JVM内存溢出的文章,但是基本没有帮助。于是,我换了一种思路,项目重启后,疯狂调用慢接口,然后使用Arthas的da...

  7jPfnBIFtnum   14天前   18   0   0 springJVMjava

说明:记录一次使用Redis的错误; 场景 在将验证码存入Redis时,发现存入的值前面有很多空格,导致在与前端传入的值比较时,一直是false,验证不通过。如下: 上面这些“□”是占位符,复制出来时空字符串; 解决 使用的Redis方法错了,我用的是下面这个API; redisTemplate.opsForValue().set(uuid,text,60); 后面这个60不代表过期时间,而是偏移量,指将数据偏移多少位,我上面这个方法表示将值偏移60位,所以前面出现了60个空字符 正确的方法如下,是四位参数,最后一位表示过期时间的单位; redisTemplate.opsForVa...

  7jPfnBIFtnum   14天前   19   0   0 redis缓存java

说明:单机的Redis存在许多的问题,如数据丢失问题、高并发问题、故障恢复问题、海量数据的存储能力问题,针对这四个问题,对应解决方式有:数据持久化、搭建主从集群、Redis哨兵和搭建分片集群; 本文介绍搭建Redis主从集群和哨兵,用以解决单机Redis的并发问题和故障恢复问题。操作系统是CentOS7,远程连接工具是WindTerm。 单机安装 首先,先安装单机的Redis 第一步:下载Redis压缩包 可在官网下载,下载完成后将压缩包复制到云服务器或者Linux虚拟机里; 我这里放在/tmp/essay目录下 第二步:安装Redis所需的依赖 我安装过了,首次安装需要一点时间 yu...

  7jPfnBIFtnum   14天前   13   0   0 数据库redis缓存

内置命名空间 python解释器启动后就可以直接使用一些函数,常量,类型,异常等。保存这些数据的空间统称内置命名空间。 内置命名空间中包含的数据如下: 对于内置命名空间中最常用的就是内置函数。内置函数:Python解释器自带的函数叫做内置函数,这些函数可以直接使用,不需要import就可以使用。Python解释器一旦启动,所有的内置函数都生效。 内置常量python对于变量的查找,模块的查找顺序是LEGB。 L:Local局部命名空间E:Enclosing内嵌命名空间G:Golbal全局命名空间B:Builtin内置命名空间 所以内置命名空间是查找的最后一道屏障,如果这里也没有,那这个变量就是...

  7jPfnBIFtnum   2024年03月22日   43   0   0 内存Python

python3获取内存和cpu利用率记录日志文件psutil  取CPU的可用,已试 importloggingimportpsutilimportos设置一个日志输出文件log_filename="logging.txt"设置日志输出格式log_format='[%(asctime)s]%(message)s'日志文件基本设置logging.basicConfig(format=log_format,datafmt='%Y-%m-%d%H:%M:%S%p',level=logging.DEBUG,filename=log_filename,filemode='w')logg...

  7jPfnBIFtnum   2024年03月22日   41   0   0 日志

Redis中的数据类型 Redis存储的是key-value结构的数据,其中key是字符串类型,value有5种常用的数据类型: 字符串string 哈希hash 列表list 集合set 有序集合sortedset

  7jPfnBIFtnum   2024年03月22日   46   0   0 数据库redis缓存
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~