- day23|leetCode 39. 组合总和 , 40.组合总和II , 131.分割回文串
kcwqxx
leetcode算法c++
5.组合总和给你一个无重复元素的整数数组candidates和一个目标整数target,找出candidates中可以使数字和为目标数target的所有不同组合,并以列表形式返回。你可以按任意顺序返回这些组合。candidates中的同一个数字可以无限制重复被选取。如果至少一个数字的被选数量不同,则两种组合是不同的。对于给定的输入,保证和为target的不同组合数少于150个。对比一下:找出所有相
- CentOS7部署ceph
假面生
存储linux
CEPH简介不管你是想为云平台提供Ceph对象存储和/或Ceph块设备,还是想部署一个Ceph文件系统或者把Ceph作为他用,所有Ceph存储集群的部署都始于部署一个个Ceph节点、网络和Ceph存储集群。Ceph存储集群至少需要一个CephMonitor和两个OSD守护进程。而运行Ceph文件系统客户端时,则必须要有元数据服务器(MetadataServer)。CephOSDs:CephOSD守
- java map深拷贝_关于HashMap的浅拷贝深拷贝
K8S技术社区
javamap深拷贝
Map中存储的都是String,不是基本数据类型的,这个有很大影响;putAll()和clone()对基本数据类型的数据是没有问题的,但是引用类型还是不行。HashMap的浅拷贝clone()方法一、创建一个HashMap对象source,进行赋值,然后再克隆一个对象targetMap出来。通过改变targetMap的值,观察source与targetMap的变化。HashMapsource=ne
- hot100刷题第1-9题,三个专题哈希,双指针,滑动窗口
小泽爱刷题
LeetCodeHot100刷题题解python3哈希算法算法
求满足条件的子数组,一般是前缀和、滑动窗口,经常结合哈希表;区间操作元素,一般是前缀和、差分数组数组有序,更大概率会用到二分搜索目前已经掌握一些基本套路,重零刷起leetcodehot100,套路题按套路来,非套路题适当参考gpt解法。一、梦开始的地方,两数之和classSolution:#注意要返回的是数组下标deftwoSum(self,nums:List[int],target:int)->
- Linux下发布QT程序_linux qt 发布
2501_90252715
linuxqt数据库
#!/bin/shLibDir=$PWD"/lib"Target=$1lib\_array=($(ldd$Target|grep-o"/.\*"|grep-o"/.\*/[^[:space:]]\*"))$(mkdir$LibDir)forVariablein${lib\_array[@]}docp"$Variable"$LibDirdoneQtTest.sh#!/bin/shappname=`b
- python算法和数据结构刷题[3]:哈希表、滑动窗口、双指针、回溯算法、贪心算法
励志成为美貌才华为一体的女子
数据结构与算法算法数据结构散列表
回溯算法「所有可能的结果」,而不是「结果的个数」,一般情况下,我们就知道需要暴力搜索所有的可行解了,可以用「回溯法」。回溯算法关键在于:不合适就退回上一步。在回溯算法中,递归用于深入到所有可能的分支,而迭代(通常在递归函数内部的循环中体现)用于探索当前层级的所有可能选项。组合问题39.组合总和-力扣(LeetCode)给你一个无重复元素的整数数组candidates和一个目标整数target,找出
- [HOT 100] 0167. 两数之和 ||
水蓝烟雨
算法HOT100
文章目录1.题目链接2.题目描述3.题目示例4.解题思路5.题解代码6.复杂度分析1.题目链接167.两数之和II-输入有序数组-力扣(LeetCode)2.题目描述给你一个下标从1开始的整数数组numbers,该数组已按非递减顺序排列,请你从数组中找出满足相加之和等于目标数target的两个数。如果设这两个数分别是numbers[index1]和numbers[index2],则1target)
- 图书管理系统 Axios 源码 __删除图书功能
还是鼠鼠
javascriptbootstrapajaxvscode前端前端框架node.js
目录代码实现(index.js)代码解析使用方法下面是完整的删除图书功能代码,基于HTML+Bootstrap+JavaScript+Axios开发。代码实现(index.js)//删除图书功能document.querySelector('.list').addEventListener('click',(e)=>{//判断是否点击了删除按钮if(e.target.classList.conta
- 寒假刷题Day19
komo莫莫da
java开发语言
一、923.三数之和的多种可能classSolution{public:intthreeSumMulti(vector&arr,inttarget){constintMOD=1'000'000'007;//正确的模数longlongans=0;//使用longlong防止溢出std::sort(arr.begin(),arr.end());for(size_ti=0;iT){k--;}elseif
- 寒假刷题Day7
komo莫莫da
数据结构算法
一、1658.将x减到0的最小操作数给你一个整数数组nums和一个整数x。每一次操作时,你应当移除数组nums最左边或最右边的元素,然后从x中减去该元素的值。请注意,需要修改数组以供接下来的操作使用。如果可以将x恰好减到0,返回最小操作数;否则,返回-1。代码:classSolution{public:intminOperations(vector&nums,intx){inttarget=acc
- 后台管理系统通用页面抽离=>高阶组件+配置文件+hooks
秀秀_heo
小轮子javaandroidjavascript
目录结构配置文件和通用页面组件content.config.tsconstcontentConfig={pageName:"role",header:{title:"角色列表",btnText:"新建角色"},propsList:[{type:"selection",label:"选择",width:"80px"},{type:"index",label:"序号",width:"80px"},{t
- 寒假刷题Day18
komo莫莫da
算法leetcode数据结构
一、16.最接近的三数之和这一题有负数,没有单调性,不能“大了右指针左移,小了左指针右移,最后存值域求差绝对值”。classSolution{public:intthreeSumClosest(vector&nums,inttarget){ranges::sort(nums);intans,n=nums.size();intmin_diff=INT_MAX;for(inti=0;i0&&x==nu
- C语言的system函数用法
鲨鱼 Fish
笔记
目录system("CLS")system("pause")system("color0A")system("titlexxx");输出当前日期和时间system(“CLS”)system(“CLS”)可以实现清屏操作system(“pause”)暂停批文件的处理并显示消息。(按任意键继续…)system(“color0A”)color后面的0是背景色代号,A是前景色代号。各颜色代码如下:0=黑色
- Pyqt5_QMessageBox
weixin_33850890
c/c++
QMessageBoxheader:会话窗标题info:会话窗内容#弹出5种不同类型的消息框reply1=QMessageBox.information(self,"title","infocontent",QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes)reply2=QMessageBox.question(self,"title","questio
- 微信小程序中在一个大边框里给每个小边框均匀分配空间
Colinnian
微信小程序notepad++小程序
initBoard(){constdots=[];for(leti=0;i<9;i++){for(letj=0;j<9;j++){dots.push({className:"blank",});}}this.setData({dots});},假设我现在创建一个81格的正方形,我要怎么写css代码呢.waibiankuang{width:690rpx;height:690rpx;border:5r
- DeepSeek点燃国产大模型斗志,RAG等核心技术被重估
量子位
原创关注前沿科技量子位黑马DeepSeek-R1的崛起,给外国网友上演了一场来自东方的震撼。一边,OpenAI和Claude都破了大防,一个声讨“窃取”,一个嘲讽“落后”,两家水火不容的对手竟然以这种戏剧性的方式,鲜有地达成了一致。另一边,微软、亚马逊等云服务厂商,甚至英伟达都开启了“真香”模式,你追我赶地在自家云平台上线DeepSeek-R1。但不管破防还是真香,DeepSeek-R1都已经成为
- DeepSeek点燃国产大模型斗志,RAG等核心技术被重估
量子位
原创关注前沿科技量子位黑马DeepSeek-R1的崛起,给外国网友上演了一场来自东方的震撼。一边,OpenAI和Claude都破了大防,一个声讨“窃取”,一个嘲讽“落后”,两家水火不容的对手竟然以这种戏剧性的方式,鲜有地达成了一致。另一边,微软、亚马逊等云服务厂商,甚至英伟达都开启了“真香”模式,你追我赶地在自家云平台上线DeepSeek-R1。但不管破防还是真香,DeepSeek-R1都已经成为
- lidar_camera_calib代码解读-优化部分
海滩油炸
SLAM标定
碎碎念最近在调研一下non-target方式的相机Lidar联合标定,其中包括HKmars实验室开源的项目GitHub-hku-mars/livox_camera_calib:ThisrepositoryisusedforautomaticcalibrationbetweenhighresolutionLiDARandcameraintargetlessscenes.这个项目在刚开始并没有得到我的
- Android 安卓kts 打包按照年月日生成apk build.gradle.kts
未来之窗软件服务
android
importjava.text.SimpleDateFormatimportjava.util.*plugins{alias(libs.plugins.android.application)}android{namespace="你的软件"compileSdk=34defaultConfig{applicationId="你的id"minSdk=24targetSdk=34versionCode
- LeetCode算法——滑动窗口&矩阵篇
胡迪警长不许动
算法leetcode数据结构
1、长度最小的子数组题目描述:解法:设一个for循环来改变指向窗口末尾的指针,再不断抛弃当前窗口内的首元素最终确定满足条件的最小长度classSolution{public:intminSubArrayLen(inttarget,vector&nums){intn=nums.size(),result=INT_MAX,sum=0,left=0;for(intright=0;right=target
- 私有化一键部署整体方案
维搭小刘
架构运维
背景我们的客户主要是国企、央企或者科技公司,绝大多数情况下,都是需要将星云平台进行私有化部署。此前,在星云平台整体架构一文中,我详细介绍了平台是基于微服务架构设计的,这种架构带来了许多灵活性和扩展性优势,但也给私有化部署带来了不小的挑战。尤其是在私有化部署的过程中,如何确保各个服务版本的兼容性、如何确保不同服务之间的配置和代码的一致性,成为了必须解决的核心问题。为了应对这些挑战,我们需要实现清晰的
- Python之解析 Windows 下的 .ini 文件
Hi Man
Pythonpythonwindows开发语言
在Python中解析Windows下的.ini文件,可以使用内置的configparser模块。configparser专门用于处理.ini格式的配置文件,支持分节、键值对、注释等特性。以下是一个完整的示例,展示如何解析和操作.ini文件。1..ini文件示例假设你有一个名为config.ini的文件,内容如下:[DEFAULT]sourcepatch=lijiedantargetpath=/ho
- 云原生:构建现代化应用的基石
moton2017
后端架构云原生微服务容器kubernetesdocker
一、什么是云原生?云原生是一种构建和运行应用程序的方法,旨在充分利用云计算的分布式系统优势,例如弹性伸缩、微服务架构、容器化技术等。云原生应用程序从设计之初就考虑到了云环境的特点,能够更好地适应云平台的动态变化,并充分发挥云计算的优势。1.云原生核心特点:容器化:使用容器技术(如Docker)将应用打包成独立的容器镜像,实现快速部署和隔离。微服务架构:将单体应用拆分成多个松耦合的微服务,每个微服务
- 生产环境WAS产生javacore、dmp、dump文件分析
bubble小拾
1024程序员节java运维
目录一、分析工具二、Java转储(Javadump)Java转储内容(Javadumpcontents)标题(TITLE)GP信息(GPINFO)环境信息(ENVINFO)本地内存信息(NATIVEMEMINFO)内存信息(MEMINFO)锁(LOCKS)线程(THREADS)钩子(HOOKS)共享类(SHAREDCLASSES)类(CLASSES)场景(Scenarios)一般保护故障(Gene
- 数据库性能调优中的配置参数调整:提升系统效率的关键环节
title:数据库性能调优中的配置参数调整:提升系统效率的关键环节date:2025/1/31updated:2025/1/31author:cmdragonexcerpt:数据库的性能直接影响到应用程序的响应能力和用户体验,因此在日常运维中,管理员需要定期对数据库系统进行性能调优。配置参数调整是数据库性能调优的重要组成部分,通过优化这些参数,能够显著提高数据库的性能和稳定性。categories
- 数据库查询优化:提升性能的关键实践
title:数据库查询优化:提升性能的关键实践date:2025/1/30updated:2025/1/30author:cmdragonexcerpt:在当今数据驱动的商业环境中,数据库的性能直接影响着应用程序的响应速度和用户体验。查询优化是性能调优的重要组成部分,通过对SQL查询的分析与改进,减少查询执行时间和资源消耗,从而提升整体系统效率。categories:前端开发tags:查询优化数据
- python判断字符串
iteye_13776
PythonPython
s为字符串s.isalnum()所有字符都是数字或者字母s.isalpha()所有字符都是字母s.isdigit()所有字符都是数字s.islower()所有字符都是小写s.isupper()所有字符都是大写s.istitle()所有单词都是首字母大写,像标题s.isspace()所有字符都是空白字符、\t、、判断是整数还是浮点数a=123b=123.123>>>isinstance(a,int)
- leetcode刷题记录(六十四)——240. 搜索二维矩阵 II
曲奇是块小饼干_
leetcode刷题记录leetcode矩阵算法java
(一)问题描述240.搜索二维矩阵II-力扣(LeetCode)240.搜索二维矩阵II-编写一个高效的算法来搜索mxn矩阵matrix中的一个目标值target。该矩阵具有以下特性:*每行的元素从左到右升序排列。*每列的元素从上到下升序排列。示例1:[https://assets.leetcode-cn.com/aliyun-lc-upload/uploads/2020/11/25/search
- leetcode刷题(68)——74. 搜索二维矩阵
TheManba
leetcode刷题二分法leetcode
一、题目编写一个高效的算法来判断mxn矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。示例1:输入:matrix=[[1,3,5,7],[10,11,16,20],[23,30,34,50]]target=3输出:true示例2:输入:matrix=[[1,3,5,7],[10,11,16,20],[23,30,34,50]
- JAVA菜鸟从零开始----基本概念篇
助助助助助手
学习总结java学习springboot
JAVA菜鸟从零开始----基本概念篇trycatch快捷键ctrl+alt+t0.基本注解@Target({ElementType.FIELD,ElementType.ANNOTATION_TYPE}):设置注解的作用范围@RequestParam注解:进行请求参数的映射配置@ResponseBody注解:用来表示将控制器方法的返回值直接作为响应的响应体的内容发送给客户端@RequestMapp
- 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