extern“c”被extern"c"修饰的代码会按照c语言的方式编译如果函数同时有声明和实现,要让函数声明被extern"C"修饰,函数实现可以不被修饰extern"C"voidfun(){cout<<"fun()"<
Python tkinter实现动态链接数据库
乙龙
python数据库
在使用Tkinter(tk)开发GUI程序时,可以通过多种方式让用户自由更改数据库连接地址,而不是将其写死在代码中。以下是一些实现方法:方法一:使用输入框让用户手动输入数据库地址你可以在GUI中添加一个输入框(Entry),让用户手动输入数据库地址。然后在连接数据库时,从输入框中获取地址。示例代码:importtkinterastkfromtkinterimportmessageboximport
Netty长连接
JIU_WW
nettywebsocketjavatcp
1.长连接的概念目录1.长连接的概念2.Netty对长连接的支持2.1内置协议支持2.2连接状态管理2.3资源优化3.Netty长连接与WebSocket的关系4.实现长连接的两种典型方式4.1基于TCP自定义协议4.2基于WebSocket5.长连接的关键优化策略6.性能对比:Nettyvs传统实现总结长连接指客户端与服务器建立一次连接后,保持该连接持续打开,供多次数据传输使用。与短连接(每次请
玩转python: 通俗易懂-理解python类中的单继承与多继承
千益
浅显易懂玩转pythonpython开发语言
一、引言在面向对象编程中,继承是一种重要的机制,允许我们基于现有类创建新类。Python支持单继承和多继承两种方式。本文将详细介绍这两种继承方式,并通过丰富的案例和使用场景进行说明。二、单继承单继承是指一个类仅继承一个父类。这种方式结构简单,适合大多数常见场景。1.基本概念父类(基类):被继承的类。子类(派生类):继承父类的类。2.示例代码定义父类AnimalclassAnimal:def__in
蓝桥杯学习-字符串string类
c田野
蓝桥杯学习职场和发展
一、cout控制符【I/O操作重点】#include//必须包含的头文件常用控制符:setw(n)【作用】设置输出域宽(仅对下一个输出有效)【示例】cout//必须包含的头文件1.初始化方式strings1;//空字符串strings2="hello";//直接赋值strings3(5,'A');//生成"AAAAA"strings4(s2);//拷贝构造strings5=s2+"world";/
每日十个计算机专有名词 (7)
太炀
每日十个计算机专有名词杂项
Metasploit词源:Meta(超越,超出)+exploit(漏洞利用)Metasploit是一个安全测试框架,用来帮助安全专家(也叫渗透测试人员)发现和利用计算机系统中的漏洞。你可以把它想象成一个工具箱,里面装满了各种可以测试网络和应用程序安全的工具。它有很多预设的“攻击模块”,这些模块可以模拟黑客的攻击方式,帮助你检查自己的系统是否容易受到攻击。通过这些攻击模拟,你可以发现安全漏洞,并及时
关于跨域和端口问题
Mayer999
Javanginx
写在文章之前nginx相信大家并不陌生,但nginx到底有什么用,和tomcat有什么区别,笔者最近遇到了这些问题,在此总结下。还有关于跨域和前后端交互不清楚的,相信会有所收获。环境:开发工具:IntellijIDEA2019.3jdk:1.8.0_181springboot:2.1.11springcloud:Finchley.RC1一、端口问题1.1nginx解决端口问题域名问题解决了,但是现
解决IDEA创建SpringBoot项目时不能选择java8的问题
奔跑吧小吕
intellij-ideajavaide
问题原因:当我创建一个springboot项目时,发现选不了java8了,查看官方文档之后,springboot不在支持java8了。解决方式:改成阿里云的服务
GBase 8a从Kafka的Topic加载数据使用样例
老紫竹
数据库
GBase8a支持从Kafka加载数据,本文介绍该功能的使用方式并提供样例。GBase8a当前支持单次加载,以及以类似定时任务的形式自动加载。原文:https://www.gbase8.cn/6335目录环境kafka版本数据操作系统单次加载样例语法Kafka单次加载进度元数据表样例定时加载Kafka数据语法定时加载Kafka数据的元数据表定时加载Kafka数据样例环境kafka版本kafka_2
redis——进阶
weixin_30614587
数据库
redis的持久化redis提供两种备份方式,一种是RDB一种是AOFRDB默认开启。关闭注释掉所有的save,存储的是redis具体的值,会压缩存储。AOF配置文件中appendonlyyes表示开启。存储的是redis操作的命令。RDB和AOF的对比:RDBAOF开启与关闭默认开启的备份方式,要想关闭将配置文件中的所有save注释掉即可。在配置文件中appendonly:yes即为开启,no为
Git指令的研究
霹雳龙
gitlinux
Git指令的研究文章目录Git指令的研究前言一、ssh密钥1.创建ssh密钥2.读取密钥3.测试二、将项目推送到远程仓库1.初始化git仓库2.将文件送入暂存区3.提交文件4.查看状态5.上传至远程仓库三、Git的一些其他指令总结前言本文将简单介绍git的一些简单命令,以及如何把你的项目推送到远程服务器一、ssh密钥本文介绍的将本地项目推送到远程服务器所采用的方式是SSH且本文默认你已经拥有了一个
【Spring】配置文件的使用
m0_74823507
面试学习路线阿里巴巴springjava后端
在Spring框架中,application.properties(或application.yml)文件用于配置Spring应用程序的各种属性。我们可以通过多种方式来使用这些配置,包括使用@Value和@ConfigurationProperties注解来绑定配置到Java对象。下面是对不同配置类型的说明,以及如何在代码中使用它们的示例。1.配置变量(单个属性)可以在application.pr
Redis的过期删除策略
编程bond
redis数据库缓存
1.基本概念:Redis的过期删除策略主要用于管理具有过期时间的键,确保在键过期后适时清除以释放内存。Redis的过期删除策略主要分为三种方式。2.惰性删除(LazyDeletion)Redis不主动去删除过期的键,而是在键被访问时才检查它是否过期。如果过期,立即删除并返回空结果。优点:降低了不必要的内存删除操作,节省CPU资源。缺点:如果某些键从不被访问,过期后也不会被删除,可能会导致内存占用增
学会用提问的方式沟通
西部驯兽师
项目管理职场和发展产品经理
在中国文化背景下,良好的沟通确实需要注重提问的智慧。以下从提问方式、角度分类和文化适配性三个维度,为您系统梳理提问的艺术:一、提问方法论的核心要素文化适配性原则关系前置:提问前建立信任(“王总,最近您团队的项目进展顺利吗?”)间接试探:“您觉得这个方案还有哪些需要完善的地方?”(替代直接批评)面子保护:“这个问题可能我理解有偏差,能否请您再说明下?”结构化提问框架提问目标信息类型事实数据观点态度解
mysql怎样更改加密算法及修改密码加密方式
IT_狂奔者
MySQLmysql数据库
MySQL是一种流行的关系型数据库管理系统,可以用来存储和管理数据。MySQL默认使用的加密算法是sha256_password,但有时候我们需要更改加密算法。本篇文章将介绍如何更改MySQL的加密算法。mysql全局修改加密算法步骤如下:1.查看当前加密算法SELECT@@default_authentication_plugin;2.停止MySQLsudo/etc/init.d/mysqlds
2022-11-11 mysql-表间关联算法—BNL
悟世者
mysqlmysql算法数据库
在MySQL中,多表关联一直是其处理不太好的地方。MySQL本身只支持一种表间关联方式,就是嵌套循环(NestedLoop)。如果关联表的规模较大,则执行时间会非常长。在5.5以后的版本中,MySQL通过引入多种算法来优化嵌套执行。下面就介绍其中的一种,BlockNested-Loop。1.准备工作(1).创建结构CREATETABLE`big_emp`(`empno`int(4)NOTNULL,
GC5958 在 CPU 散热风扇和口罩风扇中的应用分析可PIN TO PIN APX9358/茂达
青牛科技-Allen
GLOBALCHIP单片机嵌入式硬件人工智能电源模块口罩机散热风扇散热风扇
GC5958在CPU散热风扇和口罩风扇中的应用分析如下:在CPU散热风扇中的应用:性能优势:低噪声运行:GC5958采用正弦波驱动方式,相比传统的驱动方式,能有效降低电机运行时的噪声。对于CPU散热风扇来说,安静的运行环境非常重要,因为高噪声不仅会影响用户的使用体验,还可能对用户的工作和生活造成干扰。精准的速度控制:该芯片内置外部PWM速度控制功能,可以根据CPU的温度实时调整风扇的转速,确保CP
vue按照官网设置自动导入后ElMessageBox不生效问题
cc.ChenLy
前端
按照官网的方式导入之后,ElMessageBox不用再引入了,不然就会造成冲突不生效解决的方法:将组件中的引入删除,直接使用
ElasticSearch基础入门(四)桶、度量
全端工程师
elasticsearchelasticsearch
ElasticSearch基础入门(四)聚合一、基本概念1.桶(bucket)2.度量(metrics)二、聚合为桶三、桶内度量四、桶的嵌套五、直方图分桶(阶梯)六、范围分桶(range)一、基本概念通过聚合,我们会得到一个数据的概览。我们需要的是分析和总结全套的数据而不是寻找单个文档。ElasticSearch中的聚合,常见的有两种,桶和度量。1.桶(bucket)桶,是按照一定的方式对数据进行
NCCL学习笔记-拓扑和算法
MatsumotoChrikk
NVIDIANCCL学习笔记算法
集合通信数据并行:all-reduce或reduce-scatter和all-gather张量并行:all-reduce流水并行:点对点p2p序列并行:all-gather和reduce-scatter专家并行:all-to-all集合通信-MPI标准进程间通信也是消息传递最基本的消息传递包括sendreceive等等MPI系统的通信方式都是p2p可以阻塞可以非阻塞而openMPI中就有多个集合通
基于问答对的实体识别和意图识别的知识图谱问答推理
风清扬【coder】
自然语言分析处理知识图谱人工智能自然语言处理
问答对数据questionanswer省直医保的参保范围是什么?中央直属、省直属在哈尔滨的机关、事业单位、社会团体及其职工和退休人员。参加省直医保的单位缴费基数如何确定和缴纳?在职职工(以下简称职工)个人月缴费基数按本人上年度月平均工资确定,由单位代扣代缴,用人单位月缴费基数按本单位参保职工个人月缴费基数之和确定。缴费费率:用人单位8%(含生育0.5%)、职工个人2%。缴费方式:用人单位、职工按月
推荐1款提高效率的必备工具,只有398KB,强烈推荐!
网络神器
网络神器开源软件
聊一聊文件重命名的方式有很多。这类的软件工具也很多。有简单的,就简单的字符替换。有复杂的,对特定字符、字母或数字进行修改。就看哪款更适合你,能满足你的命名要求。软件介绍文件批量重命名工具工具无需安装,下载解压,打开即可使用。打开界面有添加文件,添加文件夹,选择规则,添加编号,改后缀名,重新开始和重命名等选项。最简单的莫过于查找和替换了,直接输入替换字符,点击替换即可。还可以给多件或文件夹添加编号。
R语言绘制词云图
后端架构小白
r语言开发语言R语言
R语言绘制词云图词云图是一种常见的数据可视化方式,用于展示文本数据中频繁出现的词语。在R语言中,我们可以使用wordcloud包来创建精美的词云图。本文将向您介绍如何使用R语言绘制词云图,并提供相应的源代码示例。准备工作:在开始之前,您需要确保已经安装了wordcloud包。如果尚未安装,可以通过以下命令进行安装:install.packages("wordcloud")安装完成后,您可以加载该包
掌握 ElasticSearch的 _source 过滤
全端工程师
elasticsearchelasticsearch大数据
掌握ElasticSearch的_source过滤1.引言2.`_source`元数据基础2.1什么是`_source`字段?2.2`_source`的基本用法3.禁用`_source`3.1如何禁用`_source`字段3.2禁用`_source`的利弊3.3最佳实践建议4.`_source`数据源过滤4.1为什么需要数据源过滤?4.2两种过滤方式4.2.1在Mapping中定义(不推荐)4.2
深入解析Spring核心扩展点:BeanFactoryPostProcessor与BeanDefinitionRegistryPostProcessor
冬天vs不冷
springspringoraclejava
目录一、引言二、核心概念与区别1、BeanFactoryPostProcessor2、BeanDefinitionRegistryPostProcessor3、核心区别三、执行时机与流程四、典型应用场景1、BeanFactoryPostProcessor的使用场景2、BeanDefinitionRegistryPostProcessor的使用场景五、实现与注册方式1、实现自定义处理器2、注册到Sp
linux shell编程
野生java研究僧
linuxlinuxbash运维
linuxshell编程1.shell脚本概述2.脚本的调用形式3.shell脚本语法3.1脚本开头标识3.2脚本注释3.3给脚本加上可执行权限3.4shell脚本的运行方式3.5检测脚本是否正确3.6重定向的使用3.7获取上一条命令的执行结果4.变量4.1变量的定义和使用4.2从键盘上读取变量:4.3读取多个变量的值:4.4查看环境变量:4.5注意事项4.6判断变量是否存在4.7字符串操作4.8
中科院C语言应聘机试编程题6,中科院计算所保研笔试+机试+面试经验分享
力气气
中科院C语言应聘机试编程题6
计算所JDL(先进人机交互)实验室9月10号开始联系计算所导师,12号收到导师的回复,大致意思是老师让我提供三位本校推荐老师的联系方式,又问了是否有读博的打算,让我准备到计算所JDL面试,16号收到了他们的正式通知。老实说我这次的复试基本属于裸面,时间很仓促,后来才知道很多同学在暑假之前就开始联系导师了,提前见了导师,咨询清楚了复试内容,暑假有针对性性地复习了一遍。这样的话录取的可能性就很大了,所
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