- Pandas使用
Zhang_newbie
pandaspythonai
文章目录安装pandas内置数据结构SeriesDataFrameSeries创建Series对象使用有序一元容器对象创建ndarray对象创建字典对象创建标量创建Series常用属性Series常用方法head()和tail()isnull()和notnull()DataFarme创建DataFarmed对象列表创建字典创建Series创建列索引使用获取数据添加数据修改数据行索引操作loc方法i
- C++11 智能指针:unique_ptr、shared_ptr和weak_ptr 功能特性 模拟实现
Chandler24
C++c++开发语言
文章目录unique_ptr功能和特性使用场景make_unique模拟实现shared_ptr功能和特性使用场景make_shared模拟实现weak_ptrC++中智能指针都是RAII(ResourceAcquisitionIsInitialization)机制的典型应用,在构造时获取资源,在析构时释放资源,将资源管理与对象的生命周期绑定,使得资源管理更加直观和可靠。unique_ptrstd
- oracle查询DBname 和 hostname(instance)
cyong888
数据库oracledatabase
selecthost_namefromv$instance;selectnamefromv$database一个instance上有多个database。
- java练习(40)
IIIIIIlllii
java开发语言
ps:题目来自力扣二叉树的后序遍历给你一棵二叉树的根节点root,返回其节点值的后序遍历importjava.util.ArrayList;importjava.util.List;//定义二叉树节点类classTreeNode{intval;TreeNodeleft;TreeNoderight;TreeNode(){}TreeNode(intval){this.val=val;}TreeNode
- 力扣——完全平方数
WLKQ
力扣leetcode算法职场和发展
题目链接:链接题目描述:思路:用动态规划,设iii的最少数量是dp(i)dp(i)dp(i),最多数量是iii,如1+1+…+1则dp(i)=min{i,dp(i−j∗j)+1}dp(i)=min\{i,dp(i-j*j)+1\}dp(i)=min{i,dp(i−j∗j)+1}这里为什么是dp(i−j∗j)+1dp(i-j*j)+1dp(i−j∗j)+1,因为要得到iii减去一个平方数后的最小组成
- 53、深度学习-自学之路-自己搭建深度学习框架-14、使用自己的架构搭建一个通过学习模仿莎士比亚风格的2000次的文章。并且在关键层配有详细解释。
小宇爱
深度学习-自学之路深度学习人工智能神经网络自然语言处理rnn
importnumpyasnpclassTensor(object):def__init__(self,data,autograd=False,creators=None,creation_op=None,id=None):self.data=np.array(data)self.autograd=autogradself.grad=Noneif(idisNone):self.id=np.rand
- leetcode 41. 缺失的第一个正数
萌の鱼
leetcode算法c++数据结构
题目如下数据范围观察数据范围n方复杂度的算法铁定不行了。但是我们可以另辟蹊径:若一个数组长度为n且这个数组的数都是正常的(例如n=3[1,2,3])这样即返回答案最大为n+1若出现不正常数(例如n=3[1,2,5][1,1,2])那么显然答案应该是3是小于n+1的所以我们不妨这样推断如果这个数组正常那么每个数必然能刚好对应一个位置就像上面的正常数组1在02在13在2即出现nums[i]==i+1。
- 【YashanDB 知识库】通过 dblink 查询 Oracle 数据时报 YAS-07301 异常
数据库运维
问题现象某客户在通过yasql查询Oracle数据时,报如下异常:SQL>select1fromdual@link_oracle;YAS-07301externalmoduletimeout,reason:yex_serverheatbeattimeout问题的风险及影响dblink功能无法正常使用问题影响的版本所有的YashanDB版本问题发生原因查看YashanDB的run.log,有如下异常
- Leetcode 76 Minimum Window Substring
xxxmmc
leetcode哈希算法滑动窗口
题意给定一个字符串s以及字符串t,求长度最短的s的子串,该子串包含所有字符串t中的字符。题目链接https://leetcode.com/problems/minimum-window-substring/题解可利用滑动窗口求解。有两个指针l和r。l代表滑动窗口的左端点,r代表滑动窗口的右端点。用一个map保存字符串t的计数。滑动窗口内的子串右端点不断移动,用另一个map保存这个滑动窗口内字符的计
- Leetcode 980 Unique Path III
xxxmmc
leetcode深度优先算法
题意给定一个二维矩阵,0代表空地,1代表起点,-1代表墙,2代表终点,求从起点出发,走到终点,并且能够经过所有的空地,一共有几条唯一路径思考首先求多少条路径问题我们一开始会想到dp,但是这一题不行,因为我要经过所有的空地,所以必须dfs求解题解先计算出有多少不是墙的点。然后从起点开始做dfs,对每一层dfs到当前位置有多少个不是墙的点与之前算出的结果进行比对,如果相等并且此时已经遍历到了终点,那么
- Design Leetcode
xxxmmc
系统架构
DesignLeetcodeFunctionalRequirementsUserscanviewalistofproblemsUsersviewthedetailedproblemandcodesolutionsUsersareablesumbittheircodeaccordingtodifferentlanguageandgettheanswer.Usersareabletohavethele
- 【leetcode hot 100 11】移动零
longii11
leetcode算法职场和发展
一、暴力解法:两个for循环,外层循环遍历所有可能的左边界,内层循环遍历所有可能的右边界classSolution{publicintmaxArea(int[]height){intmax_area=0;for(inti=0;iarea?max_area:area;}}returnmax_area;}}错误分析:当涉及的数组较大时,会超出时间限制双指针:一个指向数组的头部,一个指向数组的尾部,然后
- 容器基础_搭建Docker-Ce版本(入门篇)
琼歌
云服docker
一、介绍基于docker-ce的一些常见命令二、步骤1、确定服务器版本uname-r说明:保证系统内核版本>=3.102、移除旧版本sudoyumremovedockerdocker-commondocker-selinuxdocker-engine3、安装docker的依赖包sudoyuminstall-yyum-utilsdevice-mapper-persistent-datalvm24、下
- leetcode day23 54 螺旋矩阵
星愿shining
leetcode矩阵c#
54螺旋矩阵给你一个m行n列的矩阵matrix,请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例1:输入:matrix=[[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例2:输入:matrix=[[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12,11,10,9,5,6,7]解题思路:设四个变量top,
- LeetCode 141 Linked List Cycle和142 Linked List Cycle II
kongfy4307
LeetCodeleetcode
题目141LinkedListCycleGivenalinkedlist,determineifithasacycleinit.Followup:Canyousolveitwithoutusingextraspace?142LinkedListCycleIIGivenalinkedlist,returnthenodewherethecyclebegins.Ifthereisnocycle,retu
- LeetCode(142)Linked List Cycle2
feliciafay
C++LeetCode
题目如下:Givenalinkedlist,returnthenodewherethecyclebegins.Ifthereisnocycle,returnnull.Followup:Canyousolveitwithoutusingextraspace?题目分析:本题是上一道题目的扩展。可以沿用上一题目的方式。使用一块一慢两个指针从起点开始行走。快指针每次走2步,慢指针每次走1步。如果链表中有环
- Docker、docker-compose常用命令
珍朱(珠)奶茶
dockerdocker容器运维
最近很慌的一件事是要在客户的服务器上使用docker容器来部署项目,当时接到这个任务时一脸懵逼,我是谁我在哪;对于还不会docker容器技术的我确实很懵逼,啥也不会;所以最终的结果就是一边学一边部署,从不会到会,到最终上线完成,心情就像是过山车一样,遇到各种问题。好了,废话不多说直接上,这里整理了我在部署时遇到的一些问题,以及在实际部署常用的命令。docker卸载旧版本yumremovedocke
- C++ 二叉树的后序遍历 - 力扣(LeetCode)
XYLoveBarbecue
C++练习c++leetcode开发语言
点击链即可查看题目:145.二叉树的后序遍历-力扣(LeetCode)一、题目给你一棵二叉树的根节点root,返回其节点值的后序遍历。示例1:输入:root=[1,null,2,3]输出:[3,2,1]解释:示例2:输入:root=[1,2,3,4,5,null,8,null,null,6,7,9]输出:[4,6,7,5,2,9,8,3,1]解释:示例3:输入:root=[]输出:[]示例4:输入
- 结构型模式 - 享元模式 (Flyweight Pattern)
_真相只有一个
Java设计模式享元模式设计模式
结构型模式-享元模式(FlyweightPattern)享元模式是一种结构型设计模式,它通过共享对象来减少内存使用和提高性能,尤其适用于存在大量细粒度对象且这些对象有部分状态可共享的场景。举个经典案例,下围棋,黑子和白子可以用享元,每一颗棋子除了放置的位置之外,只有颜色区分.importjava.util.ArrayList;importjava.util.HashMap;importjava.u
- Leetcode 141 Linked List Cycle and Leetcode 142 Linked List Cycle II
xxxmmc
leetcode算法快慢指针
题目链接https://leetcode.com/problems/linked-list-cycle/https://leetcode.com/problems/linked-list-cycle-ii/题意给定一个环形链表,求找到链表的环的位置,返回一个指针(以Leetcode142为例)题解首先判断是否有环。可以用快慢指针来确定,由于快的那个指针一直在环中移动,慢的指针每次移动一步,二者一定
- 【pytorch_geometric报错】RuntimeError: softmax() Expected a value of type
一穷二白到年薪百万
报错专栏
如果pytorch_geometric中的softmax函数报错,声明一下num_nodes变量即可。fromtransP=softmax(pipj,row,cd.size(0))totransP=softmax(pipj,row,num_nodes=cd.size(0))[1]RuntimeError:softmax()Expectedavalueoftype‘Optional[Tensor
- C语言-文件重命名和删除
log159
c语言
#define_CRT_SECURE_NO_WARNINGS#include#includeintmain(intargc,char*argv[]){//移除test.txtremove("test.txt");//test2.txt重命名为test3.txtrename("test2.txt","test3.txt");system("pause");returnEXIT_SUCCESS;}
- 如何在docker上部署java服务
R-sz
dockerjavapython
目录结构首先DockerfileFROMbladex/alpine-java:
[email protected]=Asia/ShanghaiRUNln-sf/usr/share/zoneinfo/$TZ/etc/localtime&&echo$TZ>/etc/timezoneRUNmkdir-p/xhWORKDIR/xhEXPOSE8106A
- 【leetcode】 最小差值 c++
m0_73805456
力扣leetcode算法数据结构leetcode贪心算法c++
目录一、leetcode908.最小差值I二、leetcode910.最小差值II一、leetcode908.最小差值I1.问题描述给你一个整数数组nums,和一个整数k。在一个操作中,您可以选择0&nums,intk){intsize=nums.size();intnmin=nums[0],nmax=nums[size-1];for(inti=0;i&nums,intk){sort(nums.b
- .net使用webSocket
BeYourself412
asp.netwebsocket
在Program.cs中添加varwebSocketOptions=newWebSocketOptions{KeepAliveInterval=TimeSpan.FromMinutes(2)};app.UseWebSockets(webSocketOptions);创建一个api接口[Route("api/[controller]")][ApiController]publicclassLogCo
- qt mysql 执行sql_Qt数据库- 执行SQL语句
weixin_39724266
qtmysql执行sql
QtVersion5.14.0QSqlQuery类提供执行SQL语句的接口,并且能够访问执行结果数据集。执行一次查询想要执行SQL语句,只需要创建一个QSqlQuery对象,然后调用它的exec函数,如下代码。(这里构造QSqlQuery对象时没有指定数据库链接名称)QSqlQueryquery;boolflag=query.exec("SELECTname,salaryFROMemployeeW
- sys.argv
甜橙W
python
sys.argv指的是外部参数,命令行运行.py文件时,argv[0]指的是文件本身,argv[n]指的是第n个参数举例说明:文件testSysArgv.pyimportsysprint(sys.argv[0])print("*************************")paraLen=len(sys.argv)foriinrange(paraLen):print("第"+str(i)+"
- [特殊字符]️ Selenium元素存在性判断的5种方法
test猿
seleniumpython测试工具
️Selenium元素存在性判断的5种方法方法对比表方法类型执行效率异常处理适用场景推荐指数显式等待法⭐⭐⭐⭐自动处理动态加载元素⭐⭐⭐⭐⭐批量查找法⭐⭐⭐⭐无需捕获简单静态页面⭐⭐⭐⭐异常捕获法⭐⭐手动处理兼容旧代码⭐⭐JavaScript注入法⭐⭐⭐⭐无需捕获需绕过DOM检查⭐⭐⭐复合条件法⭐⭐⭐⭐自动处理复杂异步场景⭐⭐⭐⭐核心解决方案1️⃣显式等待法(推荐首选)fromsele
- 麒麟系统远程桌面,麒麟系统如何连接远程桌面?
浅若清风217
编辑器
在信息技术快速发展的今天,远程桌面连接已成为日常工作和生活中不可或缺的一部分。麒麟操作系统作为一款国产操作系统,其安全性和易用性受到了广泛的认可。对于需要在麒麟系统之间或与其他操作系统之间进行远程桌面连接的用户来说,了解如何设置和连接是非常重要的。本文将为您提供麒麟系统连接远程桌面的详细步骤,帮助您高效、安全地实现远程操作。下面为大家介绍IIS7服务器管理工具的使用教程。一、服务管理器工具的添加方
- Python常见面试题的详解13
ylfhpy
python开发语言面试
1.以下X是什么类型X=(iforiinrange(10))要点在Python中,变量的类型取决于其赋值的对象。下面代码中的(iforiinrange(10))是一个生成器表达式。生成器表达式是一种简洁的创建生成器的方式,它类似于列表推导式,但使用圆括号而非方括号。生成器是一种特殊的迭代器,它不会一次性生成所有的值,而是在需要时逐个生成,这在处理大量数据时可以节省内存。pythonX=(ifori
- 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