- JavaScript之OOP基础概念学习总结一:scopes
gaoshu883
这个系列的文章是去年在搭架完静态博客后撰写的(博客已经不再维护啦,哦还能访问)↓最近在探究JavaScript中的scopes概念。经过一番研究,我觉得要从Interpreter的角度,才能更好地理解这个概念。毕竟程序员主要是编写指令,而Interpreter则是把程序员编写的代码一行一行读下去并翻译出来(执行出来),最终结果就会直接反映在Web浏览器的页面上。不过还要注意的是,并不是所有的sco
- Springboot 项目中引入WebSocket后,单元测试出现错误,前端开发揭秘
杭州湾Java仔
2024年前端程序员springbootwebsocket单元测试
java.lang.IllegalStateException:FailedtoloadApplicationContextatorg.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:12
- Puppeteer Heap Snapshot: 探索JavaScript内存世界的利器
金畏战Goddard
PuppeteerHeapSnapshot:探索JavaScript内存世界的利器puppeteer-heap-snapshotadriancooney/puppeteer-heap-snapshot:puppeteer-heap-snapshot是一个Node.js包,提供了通过Puppeteer获取浏览器内存堆快照的功能,以辅助JavaScript应用的内存泄漏检测和性能优化工作。项目地址:h
- Puppeteer-Sign:自动化网页签名解决方案
杭臣磊Sibley
Puppeteer-Sign:自动化网页签名解决方案项目简介是一个基于谷歌的Puppeteer库开发的工具,用于自动化处理网页表单的签名过程。它模拟了真实用户的交互行为,可以用于需要电子签名的各种场景,比如在线合同签署、文档审批等。项目以JavaScript编写,易于集成到Web应用或者CI/CD流程中。技术分析Puppeteer库Puppeteer是由GoogleChrome团队维护的一个Nod
- Java开发常用类库
白与微光
Java开发常用类库参考https://cloud.tencent.com/developer/article/1522665https://segmentfault.com/a/1190000039359549一、日志相关类库Log4j/Log4j2:Apache的一个开源项目,高度可配置Logback:开源日志组件JUL:JDK自带日志库,也就是java.util.loggingJCL:Jak
- 大厂Java面试题:MyBatis是如何进行分页的?分页插件的实现原理是什么?
技术范王有志
大厂Java面试题mybatisjava面试后端
大家好,我是王有志。今天给大家带来的是一道来自京东的关于MyBatis实现分页功能的面试题:MyBatis是如何进行分页的?分页插件的实现原理是什么?通常,分页的方式可以分为两种:逻辑(内存)分页物理分页逻辑(内存)分页指的是数据库返回全部符合条件的数据,然后再通过程序代码对数据结果进行分页处理;物理分页指的是通过SQL语句查询,由数据库返回分页后的查询结果。逻辑(内存)分页和物理分页各有优缺点,
- Java 上传读取Excel文件
Ben_1043556915
Java进阶javaservlet开发语言
Web中導入Excel文件ExtJs前端代碼://=========上傳Excel=============================uploadPanel=newExt.form.FormPanel({fileUpload:true,id:'fileUploadForm',frame:true,labelAlign:'right',buttonAlign:'center',labelWid
- 调查了 12,000 名女性开发者发现,女性比男性更懂 Java!
Java架构学习者
华为的中国芯将何庭波这位神秘低调的程序媛推入公众视野。在华为地位堪比任正非的她在谈及“工程师”这一身份时表示,“我觉得工程师本身就是一个很不了的职业,这也是我一生的荣耀和自豪”。理工科行业的性别鄙视链由来已久,“女子本弱”论和对于有色人种的偏见一样扎根于各文化背景下。而放眼当下,年轻一代女性已经为进入科技行业做好了准备。“精英统治下,技能即一切”——程序媛arecoming!近日,HackerRa
- java multipartfile读取文件
Picky酱
java开发语言
使用JavaMultipartFile读取文件在Java中,我们经常需要处理文件上传和下载的操作。而Spring框架提供了MultipartFile接口来处理文件上传,通过这个接口我们可以方便地读取上传的文件内容。MultipartFile概述MultipartFile接口是Spring框架中用于处理文件上传的接口,它提供了一些方法来获取文件的信息和内容。通过MultipartFile接口,我们可
- Java封装大华SDK,实现门禁一体机的常用功能
香蕉i
java物联网
Java封装大华SDK,实现门禁人脸一体机的常用功能大华sdk的相关资料在网上很少,刚接触比较难上手,这里将本人近期的研究成果进行分享。从大华官网下载相应环境下的sdk:自定义开发的工具类,这里主要实现的功能有://1、远程开门//openDoor();//2、开门记录//findAccessRecords();//3、指定数量查询人员信息//findUserInfos();//4、通过ID查询人
- MySQL添加用户、为用户分配权限
ChenyuMa
添加用户1.允许本地访问的用户(127.0.0.1)createuserzhrt@localhostidentifiedby'123456';2.允许外网IP访问的用户createuser'zhrt'@'%'identifiedby'123456';用户分配权限授予用户在本地服务器对该数据库的全部权限grantallprivilegesondbname.*tozhrt@localhostident
- java中IO流详解
一路向上的桃子
学习资料java
java中IO流详解转载:https://www.cnblogs.com/biehongli/p/6074713.html
- MYSQL数据库的实验总结_MySQL数据库基础总结
weixin_39993623
MYSQL数据库的实验总结
来源:实验楼链接:https://www.shiyanlou.com/courses/9一、开发准备#打开MySQL服务sudoservicemysqlstart#使用root用户登录,密码为空mysql-uroot二、查看数据库SHOWDATABASES三、新建数据库首先,我们创建一个数据库,给它一个名字,比如mysql_shiyan,以后的几次实验也是对mysql_shiyan这个数据库进行操
- Java Springboot MultipartFile 进行Excel文件解析,并返回list map 对象 - 工具类
VinfolHu
javajavaspringbootexcel
JavaSpringbootMultipartFile进行Excel文件解析,并返回listmap对象主要实现代码如下:importlombok.extern.slf4j.Slf4j;importorg.apache.poi.hssf.usermodel.HSSFWorkbook;importorg.apache.poi.ss.usermodel.CellType;importorg.apache
- 大语言模型为什么这么强?关键步骤是……
青花科技
语言模型人工智能自然语言处理
作者主页:青花锁简介:Java领域优质创作者、Java微服务架构公号作者简历模板、学习资料、面试题库、技术互助文末获取联系方式目录前言什么是大模型1.1、具备涌现能力1.2、多模态能力增强2、预训练往期热门专栏回顾前言研究人员发现,随着语言模型参数量的不断增加,模型完成各个任务的效果也得到不同程度的提升。什么是大模型大语言模型是指模型参数量超过一定规模的语言模型,相比参数量较小的预训练模型(如BE
- MyBatis如何实现分页
思静语
#Mybatismybatis
文章目录MyBatis分页方式对比使用数据库厂商提供的分页查询语句通过自定义SQL实现分页逻辑1.使用RowBounds实现分页2.使用PageHelper实现分页数组分页使用MyBatis-Plus进行分页MyBatis物理分页和逻辑分页MyBatis手写一个拦截器分页在MyBatis中实现分页通常有两种方式:使用数据库厂商提供的分页查询语句(如MySQL的LIMIT)或者通过自定义SQL来实现
- Java-实现双向环形链表
Bro_cat
数据结构与算法链表数据结构java双向环形链表
双向链表是一种常用的数据结构,其特点是每个节点不仅包含数据,还持有指向前一个节点和后一个节点的指针。与普通双向链表不同的是,它的哨兵节点的prev指向最后一个元素,而最后一个元素的next指向哨兵。具体双向普通链表可以参考我的上篇文章,这里是传送门。什么是双向环形链表?双向环形链表不仅支持双向遍历,还形成一个闭合环,即最后一个节点的next指针指向链表的头部,第一个节点的prev指针指向链表的尾部
- java读取MultipartFile文件excel文件内容
八月林城
javaexcel
java读取MultipartFile文件excel文件内容@PostMapping("/importData")publicAjaxResultimportData(@RequestPart(name="file",value="file")MultipartFilefile)throwsException{ExcelUtilutil=newExcelUtilvehicleModelVos=ne
- Java中的IO流详解
Bro_cat
Javajava开发语言
Java的输入输出(IO)流是处理数据读写的基础。它们允许程序与外部设备(如文件、网络等)进行数据交互。Java中的IO流主要分为字节流和字符流,每种流都有其特定的用途和类结构。IO流的基本概念IO流是Java提供的一种用于处理输入输出的机制。它提供了一种统一的方式来处理不同类型的输入输出设备。输入流(InputStream/Reader):用于从外部设备读取数据到程序中。输出流(OutputSt
- easyCode 插件使用
天珩
今日所得轮子javamysqlmybatisintellijidea
easyCode插件介绍easyCode插件能够生成mapper.xml、mapper.java、service、serviceImpl、controller文件,避免手写;而且对比mybatisGenerator可以自动的把数据库的注释生成为字段的注释,可以方便的通过修改模板的方式控制生成的文件使用步骤一、使用idea连接上数据库连接有问题的,参考文章https://www.cnblogs.co
- MySQL 大小写问题
天珩
今日所得
场景在做mysql查询的时候,注意到一个问题,mysql默认是不区分大小写的通过简单的查询,发现通过关键字binary可以强制区分大小写参考每日所得--分页查询优化和mysql区分大小写问题那为什么MySQL不区分大小写呢参考文档mysql不区分大小写技术原理文章总结1、是否区分是取决于字符集和校对(Collation)部分所做的工作2、取决于字符集中是否声明了大小写敏感声明之后,开销增加参考ht
- SpringMVC架构介绍
丹_妮
spring
MVC框架要做的事情?1)将url映射到java类或java类的方法2)封装用户提交的数据3)处理请求-调用相关的业务处理-封装响应数据4)将响应的数据进行渲染jsphtml为什么要学习SpringMVC?性能较struts2好简单、便捷、易学天生和Spring无缝集成,使用Spring的IOC和AOP还有事务使用约定由于配置能够进行简单的junit测试支持restful风格异常处理本地化、国际化
- 反序列化漏洞
Slash_HK
web安全相关php安全web安全
JavaPHP反序列化总结文章目录一.PHP反序列化1.序列化serialize()2.反序列化unserialize()二.反序列化漏洞1.漏洞利用Magicfunction2.漏洞利用思路三._construct()的利用2.利用普通成员类方法四.PHP反序列化漏洞总结1.CVE-2016-7124一.PHP反序列化1.序列化serialize()首先我们创建了一个对象,通过serialize
- 【无标题】
真不爱学习
【乌卡时代】开发工具及技巧intellij-ideaidea
IntelliJIDEA的TODO功能:一个强大的代码注释工具IntelliJIDEA)IntelliJIDEAIntelliJIDEA是一款流行的Java集成开发环境(IDE),它提供了许多强大的功能,以帮助开发人员更高效地编写和调试代码。其中,TODO功能是其核心特性之一,它可以帮助开发人员在代码中标记出需要注意、尚未完成或需要进一步处理的部分。在IntelliJIDEA中,TODO是一种特殊
- Java+selenium+chrome+linux/windows实现数据获取
fox_初始化
Javaseleniumchrome测试工具javalinuxwindows
背景:在进行业务数据获取或者自动化测试时,通常会使用模拟chrome方式启动页面,然后获取页面的数据。在本地可以使用windows的chromedriver.exe进行打开chrome页面、点击等操作。在linux下通常使用无界面无弹窗的方式进行操作。接下来是实现方案。代码层面:关键工具类:ChromeDriverUtilpublicclassChromeDriverUtil{publicWebD
- Springboot配置文件中账号密码等敏感信息的加解密
乌托邦的逃亡者
软件开发springspringbootjava后端
说明:使用过SpringBoot配置文件的朋友都知道,资源文件中的内容通常情况下是明文显示,安全性比较低。打开application.properties或application.yml,比如MySQL登录密码,Redis登录密码以及第三方的密钥等等一览无余。这里介绍一个加解密组件jasypt,用以提高配置文件中敏感配置数据的安全性。本文以数据库连接URL、用户名和数据库密码加密为例。一,引入Ma
- 3月编程语言Go进入TIOBE指数前十,Java重回第三的位置
骨灰级收藏家
Java编程互联网java开发语言Java编程TIOBE指数
3月Tiobe编程排行榜已出,烈火试真金,在竞争激烈的编程界,能连续多个月位居第一,足以说明Python强大的实力!Tiobe编程排行榜前20名Top10Tiobe指数走势素材来源https://www.tiobe.com/tiobe-index/,如侵删本期Tiobe看点:编程语言Go进入TIOBE指数前十,Java重回第三的位置!今天要聊的话题是编程界常青藤-Java生命力非常旺盛Java,今
- MySQL 高可用性架构:复制与分片
墨瑾轩
数据库mysql架构adb
关注墨瑾轩,带你探索编程的奥秘!超萌技术攻略,轻松晋级编程高手技术宝库已备好,就等你来挖掘订阅墨瑾轩,智趣学习不孤单即刻启航,编程之旅更有趣嗨,小伙伴们!今天我们要聊的是一个超级重要的话题——如何通过复制和分片技术来构建MySQL的高可用性架构。想象一下,你的数据库就像是一座城堡,里面藏满了宝贵的用户数据。为了保护这座城堡,我们需要建立一整套防御体系,确保数据安全无虞,而且即便遇到突发状况也能迅速
- 判断PDF与图片是否可以预览
马优晨
判断PDF是否可以预览判断图片是否可以预览PDF是否可以预览图片是否可以预览js判断PDF是否可以预览
一、判断图片是否可以预览在JavaScript中,可以使用Image对象来判断一个图片URL是否可以访问。如果图片可以被加载,那么load事件会被触发;如果图片无法访问,error事件会被触发。functioncheckImageAccessibility(url,callback){varimg=newImage();img.onload=function(){callback(true);//
- Android 使用PopupWindow
徐子元竟然被占了!!
Androidandroid
Android使用PopupWindowmainactivity.Javaimportandroid.content.Context;importandroid.content.Intent;importandroid.graphics.drawable.ColorDrawable;importandroid.os.Bundle;importandroid.view.LayoutInflater;
- Linux的Initrd机制
被触发
linux
Linux 的 initrd 技术是一个非常普遍使用的机制,linux2.6 内核的 initrd 的文件格式由原来的文件系统镜像文件转变成了 cpio 格式,变化不仅反映在文件格式上, linux 内核对这两种格式的 initrd 的处理有着截然的不同。本文首先介绍了什么是 initrd 技术,然后分别介绍了 Linux2.4 内核和 2.6 内核的 initrd 的处理流程。最后通过对 Lin
- maven本地仓库路径修改
bitcarter
maven
默认maven本地仓库路径:C:\Users\Administrator\.m2
修改maven本地仓库路径方法:
1.打开E:\maven\apache-maven-2.2.1\conf\settings.xml
2.找到
 
- XSD和XML中的命名空间
darrenzhu
xmlxsdschemanamespace命名空间
http://www.360doc.com/content/12/0418/10/9437165_204585479.shtml
http://blog.csdn.net/wanghuan203/article/details/9203621
http://blog.csdn.net/wanghuan203/article/details/9204337
http://www.cn
- Java 求素数运算
周凡杨
java算法素数
网络上对求素数之解数不胜数,我在此总结归纳一下,同时对一些编码,加以改进,效率有成倍热提高。
第一种:
原理: 6N(+-)1法 任何一个自然数,总可以表示成为如下的形式之一: 6N,6N+1,6N+2,6N+3,6N+4,6N+5 (N=0,1,2,…)
- java 单例模式
g21121
java
想必单例模式大家都不会陌生,有如下两种方式来实现单例模式:
class Singleton {
private static Singleton instance=new Singleton();
private Singleton(){}
static Singleton getInstance() {
return instance;
}
- Linux下Mysql源码安装
510888780
mysql
1.假设已经有mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz
(1)创建mysql的安装目录及数据库存放目录
解压缩下载的源码包,目录结构,特殊指定的目录除外:
- 32位和64位操作系统
墙头上一根草
32位和64位操作系统
32位和64位操作系统是指:CPU一次处理数据的能力是32位还是64位。现在市场上的CPU一般都是64位的,但是这些CPU并不是真正意义上的64 位CPU,里面依然保留了大部分32位的技术,只是进行了部分64位的改进。32位和64位的区别还涉及了内存的寻址方面,32位系统的最大寻址空间是2 的32次方= 4294967296(bit)= 4(GB)左右,而64位系统的最大寻址空间的寻址空间则达到了
- 我的spring学习笔记10-轻量级_Spring框架
aijuans
Spring 3
一、问题提问:
→ 请简单介绍一下什么是轻量级?
轻量级(Leightweight)是相对于一些重量级的容器来说的,比如Spring的核心是一个轻量级的容器,Spring的核心包在文件容量上只有不到1M大小,使用Spring核心包所需要的资源也是很少的,您甚至可以在小型设备中使用Spring。
 
- mongodb 环境搭建及简单CURD
antlove
WebInstallcurdNoSQLmongo
一 搭建mongodb环境
1. 在mongo官网下载mongodb
2. 在本地创建目录 "D:\Program Files\mongodb-win32-i386-2.6.4\data\db"
3. 运行mongodb服务 [mongod.exe --dbpath "D:\Program Files\mongodb-win32-i386-2.6.4\data\
- 数据字典和动态视图
百合不是茶
oracle数据字典动态视图系统和对象权限
数据字典(data dictionary)是 Oracle 数据库的一个重要组成部分,这是一组用于记录数据库信息的只读(read-only)表。随着数据库的启动而启动,数据库关闭时数据字典也关闭 数据字典中包含
数据库中所有方案对象(schema object)的定义(包括表,视图,索引,簇,同义词,序列,过程,函数,包,触发器等等)
数据库为一
- 多线程编程一般规则
bijian1013
javathread多线程java多线程
如果两个工两个以上的线程都修改一个对象,那么把执行修改的方法定义为被同步的,如果对象更新影响到只读方法,那么只读方法也要定义成同步的。
不要滥用同步。如果在一个对象内的不同的方法访问的不是同一个数据,就不要将方法设置为synchronized的。
- 将文件或目录拷贝到另一个Linux系统的命令scp
bijian1013
linuxunixscp
一.功能说明 scp就是security copy,用于将文件或者目录从一个Linux系统拷贝到另一个Linux系统下。scp传输数据用的是SSH协议,保证了数据传输的安全,其格式如下: scp 远程用户名@IP地址:文件的绝对路径
- 【持久化框架MyBatis3五】MyBatis3一对多关联查询
bit1129
Mybatis3
以教员和课程为例介绍一对多关联关系,在这里认为一个教员可以叫多门课程,而一门课程只有1个教员教,这种关系在实际中不太常见,通过教员和课程是多对多的关系。
示例数据:
地址表:
CREATE TABLE ADDRESSES
(
ADDR_ID INT(11) NOT NULL AUTO_INCREMENT,
STREET VAR
- cookie状态判断引发的查找问题
bitcarter
formcgi
先说一下我们的业务背景:
1.前台将图片和文本通过form表单提交到后台,图片我们都做了base64的编码,并且前台图片进行了压缩
2.form中action是一个cgi服务
3.后台cgi服务同时供PC,H5,APP
4.后台cgi中调用公共的cookie状态判断方法(公共的,大家都用,几年了没有问题)
问题:(折腾两天。。。。)
1.PC端cgi服务正常调用,cookie判断没
- 通过Nginx,Tomcat访问日志(access log)记录请求耗时
ronin47
一、Nginx通过$upstream_response_time $request_time统计请求和后台服务响应时间
nginx.conf使用配置方式:
log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_r
- java-67- n个骰子的点数。 把n个骰子扔在地上,所有骰子朝上一面的点数之和为S。输入n,打印出S的所有可能的值出现的概率。
bylijinnan
java
public class ProbabilityOfDice {
/**
* Q67 n个骰子的点数
* 把n个骰子扔在地上,所有骰子朝上一面的点数之和为S。输入n,打印出S的所有可能的值出现的概率。
* 在以下求解过程中,我们把骰子看作是有序的。
* 例如当n=2时,我们认为(1,2)和(2,1)是两种不同的情况
*/
private stati
- 看别人的博客,觉得心情很好
Cb123456
博客心情
以为写博客,就是总结,就和日记一样吧,同时也在督促自己。今天看了好长时间博客:
职业规划:
http://www.iteye.com/blogs/subjects/zhiyeguihua
android学习:
1.http://byandby.i
- [JWFD开源工作流]尝试用原生代码引擎实现循环反馈拓扑分析
comsci
工作流
我们已经不满足于仅仅跳跃一次,通过对引擎的升级,今天我测试了一下循环反馈模式,大概跑了200圈,引擎报一个溢出错误
在一个流程图的结束节点中嵌入一段方程,每次引擎运行到这个节点的时候,通过实时编译器GM模块,计算这个方程,计算结果与预设值进行比较,符合条件则跳跃到开始节点,继续新一轮拓扑分析,直到遇到
- JS常用的事件及方法
cwqcwqmax9
js
事件 描述
onactivate 当对象设置为活动元素时触发。
onafterupdate 当成功更新数据源对象中的关联对象后在数据绑定对象上触发。
onbeforeactivate 对象要被设置为当前元素前立即触发。
onbeforecut 当选中区从文档中删除之前在源对象触发。
onbeforedeactivate 在 activeElement 从当前对象变为父文档其它对象之前立即
- 正则表达式验证日期格式
dashuaifu
正则表达式IT其它java其它
正则表达式验证日期格式
function isDate(d){
var v = d.match(/^(\d{4})-(\d{1,2})-(\d{1,2})$/i);
if(!v) {
this.focus();
return false;
}
}
<input value="2000-8-8" onblu
- Yii CModel.rules() 方法 、validate预定义完整列表、以及说说验证
dcj3sjt126com
yii
public array rules () {return} array 要调用 validate() 时应用的有效性规则。 返回属性的有效性规则。声明验证规则,应重写此方法。 每个规则是数组具有以下结构:array('attribute list', 'validator name', 'on'=>'scenario name', ...validation
- UITextAttributeTextColor = deprecated in iOS 7.0
dcj3sjt126com
ios
In this lesson we used the key "UITextAttributeTextColor" to change the color of the UINavigationBar appearance to white. This prompts a warning "first deprecated in iOS 7.0."
Ins
- 判断一个数是质数的几种方法
EmmaZhao
Mathpython
质数也叫素数,是只能被1和它本身整除的正整数,最小的质数是2,目前发现的最大的质数是p=2^57885161-1【注1】。
判断一个数是质数的最简单的方法如下:
def isPrime1(n):
for i in range(2, n):
if n % i == 0:
return False
return True
但是在上面的方法中有一些冗余的计算,所以
- SpringSecurity工作原理小解读
坏我一锅粥
SpringSecurity
SecurityContextPersistenceFilter
ConcurrentSessionFilter
WebAsyncManagerIntegrationFilter
HeaderWriterFilter
CsrfFilter
LogoutFilter
Use
- JS实现自适应宽度的Tag切换
ini
JavaScripthtmlWebcsshtml5
效果体验:http://hovertree.com/texiao/js/3.htm
该效果使用纯JavaScript代码,实现TAB页切换效果,TAB标签根据内容自适应宽度,点击TAB标签切换内容页。
HTML文件代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
- Hbase Rest API : 数据查询
kane_xie
RESThbase
hbase(hadoop)是用java编写的,有些语言(例如python)能够对它提供良好的支持,但也有很多语言使用起来并不是那么方便,比如c#只能通过thrift访问。Rest就能很好的解决这个问题。Hbase的org.apache.hadoop.hbase.rest包提供了rest接口,它内嵌了jetty作为servlet容器。
启动命令:./bin/hbase rest s
- JQuery实现鼠标拖动元素移动位置(源码+注释)
明子健
jqueryjs源码拖动鼠标
欢迎讨论指正!
print.html代码:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv=Content-Type content="text/html;charset=utf-8">
<title>发票打印</title>
&l
- Postgresql 连表更新字段语法 update
qifeifei
PostgreSQL
下面这段sql本来目的是想更新条件下的数据,可是这段sql却更新了整个表的数据。sql如下:
UPDATE tops_visa.visa_order
SET op_audit_abort_pass_date = now()
FROM
tops_visa.visa_order as t1
INNER JOIN tops_visa.visa_visitor as t2
ON t1.
- 将redis,memcache结合使用的方案?
tcrct
rediscache
公司架构上使用了阿里云的服务,由于阿里的kvstore收费相当高,打算自建,自建后就需要自己维护,所以就有了一个想法,针对kvstore(redis)及ocs(memcache)的特点,想自己开发一个cache层,将需要用到list,set,map等redis方法的继续使用redis来完成,将整条记录放在memcache下,即findbyid,save等时就memcache,其它就对应使用redi
- 开发中遇到的诡异的bug
wudixiaotie
bug
今天我们服务器组遇到个问题:
我们的服务是从Kafka里面取出数据,然后把offset存储到ssdb中,每个topic和partition都对应ssdb中不同的key,服务启动之后,每次kafka数据更新我们这边收到消息,然后存储之后就发现ssdb的值偶尔是-2,这就奇怪了,最开始我们是在代码中打印存储的日志,发现没什么问题,后来去查看ssdb的日志,才发现里面每次set的时候都会对同一个key