- NumPy 线性代数
weixin_30249203
python
NumPy线性代数NumPy提供了线性代数函数库linalg,该库包含了线性代数所需的所有功能,可以看看下面的说明:函数描述dot两个数组的点积,即元素对应相乘。vdot两个向量的点积inner两个数组的内积matmul两个数组的矩阵积determinant数组的行列式solve求解线性矩阵方程inv计算矩阵的乘法逆矩阵numpy.dot()numpy.dot()对于两个一维的数组,计算的是这两个
- 【anaconda】numpy.dot 向量点乘小技巧
rannrann
numpy线性代数
假设向量A=[1,1],向量B=[2,3]。如果想知道他们的内积就可以输入如下代码:当然,如果是两个列向量相乘,肯定是不对的但是如果没有维度也一样可以求得内积,而且结果不会套在列表里
- ValueError: operands could not be broadcast together with shapes (100,) (71,)
weixin_40686234
小白不折腾tensorflow人工智能python
记录下,减少折腾。希望帮助到需要的老板。使用Python时可能会遇到的一个错误是:ValueError:operandscouldnotbebroadcasttogetherwithshapes(100,)(71,)很重要哦当您尝试在Python中使用乘法符号(*)而不是numpy.dot()函数执行矩阵乘法时,会出现此错误。重现错误importnumpyasnp假设我们有一个2×2矩阵C,它有2
- Python numpy函数:dot()用法(简单直观)
胡涂涂~
图像处理学习python线性代数矩阵
线性代数中矩阵相乘,被称为点积运算(DotProduct),又称为内积。首先根据线性代数的知识,特别需要注意的一点是:矩阵X1和矩阵X2进行点积运算,其中X1和X2对应的维度(通俗点说,第一个矩阵的列数,和第二个矩阵的行数要相等)的元素个数必须保持一致,计算过程见下图在numpy中点积运算,用np.dot表示,其一般格式为:numpy.dot(a,b,out=None)X1=np.array([[
- 【Python】如何用 python 计算矩阵相乘 - numpy.dot()
想变厉害的大白菜
Python矩阵python线性代数
文章目录一、如何用python计算矩阵乘法?二、实例参考链接一、如何用python计算矩阵乘法?使用Numpy包里的dot()函数。该函数主要功能有两个:向量点积和矩阵乘法。格式:x.dot(y)等价于np.dot(x,y)x是m×n矩阵,y是n×m矩阵,则x.dot(y)得到m×m矩阵。二、实例向量相乘,得到内积importnumpyasnpx=np.array([0,1,2,3,4])#等价于
- python中numpy dot_python – numpy dot()和inner()之间的区别
weixin_39996742
python中numpydot
numpy.dot:For2-Darraysitisequivalenttomatrixmultiplication,andfor1-Darraystoinnerproductofvectors(withoutcomplexconjugation).ForNdimensionsitisasumproductoverthelastaxisofaandthesecond-to-lastofb:Ordi
- python——numpy.dot()和numpy.inner()之间的区别
桉夏与猫
pythonpython人工智能数据分析numpy机器学习
两个函数对于一维数据来说,效果是相同的,这里做个实验:importnumpyasnpA=[1,2,3]B=[4,5,6]print(np.inner(A,B))print(np.dot(A,B))可以看到结果都是32但是对于二维数据来说,两者就有了区别:importnumpyasnpA=[[1,10],[100,1000]]B=[[1,2],[3,4]]print(np.inner(A,B))pr
- python中 numpy.dot() 和 numpy.inner() 的区别
我心态超好的哦
pythonnumpy
不少朋友在初学numpy时会遇到这两个函数:numpy.dot()和numpy.inner(),可能会对这两个函数的运算规则感到疑惑,今天为大家带来解答。numpy.dot()就是矩阵的乘积,也就是大家在线性代数里面学的矩阵间的乘积。以二维矩阵为例:A=,B=那么C=numpy.dot(A,B)也就是C=A*B了:c11=a11*b11+a12*b21c12=a11*b12+a12*b22c21=
- python@运算符 numpy矩阵相乘
AI视觉网奇
python基础numpypython矩阵
前言我在《python数学实验与建模》这本书中发现了@运算符,这可真是个奇怪的符号!我大量的尝试与查资料后,终于揭开这个@的意义一、@运算符1.仅仅支持数组运算因此,必须用到numpy.array()才能使用这个运算符2.这是python3.5后的新运算符它与numpy.dot()的作用是一样的,矩阵乘法(就是线性代数里学的)!举个例子:fromnumpyimportarray,dota=arra
- Python学习笔记第四十九天(NumPy 线性代数)
北岛末巷
Pythonnumpypython线性代数
Python学习笔记第四十九天NumPy线性代数numpy.dot()numpy.vdot()numpy.inner()numpy.matmul()numpy.linalg.det()numpy.linalg.solve()numpy.linalg.inv()结束语NumPy线性代数NumPy提供了线性代数函数库linalg,该库包含了线性代数所需的所有功能,可以看看下面的说明:函数描述dot两个
- GNN python packages
天狼啸月1990
GNNalgorithmspythonpackagesGNN
目录numpypackagenumpy创建ndarray数组numpy.zeros()函数numpy.empty()函数numpy.eye()函数np.random.permutation(x)函数numpy.matrix()函数numpy.arange()函数numpy数组calculation加:numpy.num()函数乘:numpy.matmul()函数乘:numpy.dot()函数平均:
- DataWhale Numpy入门学习(下):Task09——线性代数
起名字什么的好难
Python
矩阵的乘法numpy.dot(a,b[,out])#计算两个矩阵的乘积,如果是一维数组则是它们的内积。importnumpyasnpx=np.array([1,2,3,4,5])y=np.array([2,3,4,5,6])z=np.dot(x,y)print(z)#70x=np.array([[1,2,3],[3,4,5],[6,7,8]])print(x)#[[123]#[345]#[678]
- numpy和pytorch矩阵乘法
harry_tea
pytorch矩阵深度学习
本文目录一、numpy的矩阵乘法numpy官方文档pytorch官方文档一、numpy的矩阵乘法numpy.dot(a,b,out=None)当两个数据均为一维的时候,结果是内积,等效于np.matmulora@b。当两个数据均为二维的时候,结果是矩阵乘法,依然等效于np.matmulora@b#1-Darraya=np.array([1,2,3])b=np.array([4,5,6])resul
- numpy.dot与pytorch.dot的等价性
Sailist
Pytorch
都对于一维向量时,numpy和pytorch的dot方法等价,都表示两向量内积,当多维时,numpy.dot可以很好的扩展,而torch则需要更换为mm方法
- python:@运算符(numpy库中的运算符)
若oo尘
笔记python数学建模
你们的每个赞都能让我开心好几天✿✿ヽ(°▽°)ノ✿前言我在《python数学实验与建模》这本书中发现了@运算符,这可真是个奇怪的符号!我大量的尝试与查资料后,终于揭开这个@的意义一、@运算符1.仅仅支持数组运算因此,必须用到numpy.array()才能使用这个运算符2.这是python3.5后的新运算符它与numpy.dot()的作用是一样的,矩阵乘法(就是线性代数里学的)!举个例子:fromn
- numpy.dot、numpy.trace函数用法
houyushui
numpypython
这篇文章帮助学习者了解下numpy的两个函数,dot和tracenumpy.dot这个函数实现的是矩阵乘法官方文档如下:numpy.dot(a,b,out=None)Dotproductoftwoarrays.Specifically,Ifbothaandbare1-Darrays,itisinnerproductofvectors(withoutcomplexconjugation)Ifboth
- 两个numpy的向量相乘并生成矩阵
Alex Creation
PYTHONpython数据结构矩阵
文章目录1.错误方法2.正确方法2.1方法1:矩阵外积2.2方法2:将向量转换为二维数组参考文章importnumpyasnpa=np.array([1,2,3,4])b=np.array([5,6,7,8])1.错误方法a*barray([5,12,21,32])a@b70因为在numpy中,array([1,2,3,4])既是行向量也是列向量。符号*表示逐个元素相乘。numpy.dot()和符
- 矩阵乘法与Numpy Dot
拙峰朽木
NumpyDot用来计算两个向量之间的点积,点积:每个条目的数相乘后相加例:a=[1,2,3,4]b=[2,3,4,5]那么a与b的点积=12+23+34+45=40我们可以用numpy.dot来计算a=[1,2,3,4]b=[2,3,4,5]numpy.dot(a,b)=40数组与矩阵相乘:Paste_Image.png矩阵和矩阵相乘:Paste_Image.png例子:计算出所有获奖国家的得分
- numpy.dot
你说你要一场
1可以做乘法np.dot(3,4)122可以两个列表对应位置相乘,然后再相加np.dot([1,2],[3,4])#结果就是1*3+2*4=3+8=113可以行列式相乘np.dot([(1,0),(1,1)],[(4,1),(2,3)])#结果就是a11*b11+a12*b21=1*4+0*2=4...array([[4,1],[6,4]])A2*3B3*2形式np.dot([(1,0,1),(1
- 一些python函数的语法
qq_38162944
Pythonpython
pycharm撤销快捷键Ctrl+z注释快捷键Ctrl+/目录split()函数append()pow(x,y)np.concatenate函数np.reshape(-1)、np.reshape(-1,1)、np.reshape(1,-1)详解np.mean()函数np.ptp()函数numpy.insert()函数numpy.dot()和x.dot(y)为矩阵乘法计算python中的“.T”操作
- numpy.linalg学习
每天进步一点点2017
Numpy
1、矩阵和向量积两个数组点积:numpy.dot(a,b,out=None)①a、b都是常量或一维数组,则返回标量In[1]:importnumpyasnpIn[2]:np.dot(3,4)Out[2]:12In[3]:np.dot([1,2,3],[4,5,6])Out[3]:32知识点:对于一维数组,其结果等于两向量的内积:设向量a=(x1,y1),向量b=(x2,y2),结果等于x1*x2+
- numpy中的dot、outer、multiply和*的用法
QLMX
Python
numpy中的dot、outer、multiply和*的使用方法浏览更多内容,可访问:http://www.growai.cn写在前面欢迎您关注作者知乎:ML与DL成长之路推荐关注公众号:AI成长社,ML与DL的成长圣地。1np.dot()numpy.dot(a,b,out=None):对于二维数组,它相当于矩阵的乘法;对于一维数组,则是向量的内积;而对于n维,它是a的最后一个轴向和b的倒数第二个
- 图像的像素乘法、除法运算
发呆少女
python机器学习numpy深度学习random
像素乘法运算result=numpy.dot(a,b)函数:矩阵乘法当a*b大于255时:a*b=mod(a*b,256)importnumpyasnp#随机生成两个像素矩阵,并进行“numpy.dot(a,b)”的操作image1=np.random.randint(0,256,size=[3,4],dtype=np.uint8)image2=np.random.randint(0,256,si
- np函数学习
小__Q
numpy
numpy.square()输入一个矩阵,返回一个同样大小的矩阵,里面的每一个元素平方。numpy.sqrt()返回一个与输入对象shape相同的多维数组,里面的每一个元素都是输入数组对应元素的开更号的运算。numpy.dot()如果A和B都是一维向量,是内积的运算,例如a=[x1,x1,x3],b=[y1,y2,y3].a内积b的结果为x1y1+x2y2+x3*y3->是一个数字a=np.arr
- numpy.dot()函数用法
周正己
python
今天学习到numpy基本的运算方法,遇到了一个让我比较难理解的问题。就是dot函数是如何对矩阵进行运算的。一、dot()的使用参考文档:https://docs.scipy.org/doc/numpy/reference/generated/numpy.dot.htmldot()返回的是两个数组的点积(dotproduct)1.如果处理的是一维数组,则得到的是两数组的內积(顺便去补一下数学知识)I
- numpy基本矩阵操作
杨思达zzz
机器学习python
矩阵乘法numpy当中常用的矩阵乘法有两种,numpy.dot和numpy.matmul当对象是2D矩阵的时候,这两个函数都是进行最正常的矩阵乘法importnumpyasnpa=np.array([[1,2],[3,4]])b=np.array([[1,2],[3,4]])c=np.matmul(a,b)d=np.dot(a,b)printcprintd结果是一样的矩阵元素对元素的乘法也就是常说
- numpy.array shape (R, 1) and (R,) 的区别
时间被海绵吃了2
翻译自:stackoverflow回答ByGarethRees原问题在numpy中,有些运算返回shape为(R,1)而有些返回(R,)。由于需要显式调用reshape,这会让矩阵乘法变得更加繁琐。举例来说,假设有一个矩阵M,如果我们想执行numpy.dot(M[:,0],numpy.ones((1,R))),其中R是行数(当然,换成列会有同样的问题)。我们会得到matricesarenotali
- numpy使用之numpy.dot, numpy.multiply
alwaysyxl
python
参考自numpy帮助文档1.numpy.dot原型:numpy.dot(a,b,out=None)两个numpy数组的点乘(1).如果两个参数a,ba,ba,b都是111维的,该运算向量内积(没有复数共轭时)np.dot([1,2],[1,2])5(2).如果两个参数a,ba,ba,b都是222维的,该运算做矩阵乘法,但是使用matmul或者a@b更好np.dot([[1,2],[3,4]],[[
- numpy.dot
罗田
numpy.dotnumpy.dot(a,b,out=None)两个数组的点积来源(http://docs.scipy.org/doc/numpy/reference/generated/numpy.dot.html)如果是二维数组则相当于矩阵乘积。一维数组则是内积。N维是在一、二至最后轴和产品上的B:dot(a,b)[i,j,k,m]=sum(a[i,j,:]*b[k,:,m])参数:a:arr
- Numpy中常用函数
叶晚林
numpy.dot(a,b,out=None)docs.scipy.org/doc/numpy/reference/generated/numpy.dot.html笔记。1)a和b为一维数组,表示向量数量积。a=[2,1]b=[2,2]print(np.dot(a,b))6np.dot([2j,3j],[2j,3j])(-13+0j)2)a和b中一个为数组,一个为实数,表示该数与数组中元素对应相乘
- 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