- vscode的markdown插件
想喝冰拿铁
vscodeide编辑器
安装插件“MarkdownPreviewEnhanced”安装后打开preview即可预览,邮件可以导出pdf·出现“"princexml"isrequiredtobeinstalled.”进入princexml官网安装软件并添加Prince/engin/bin的路径到环境变量,重启vscode即可
- 【Python】Python中的heapq模块详解,令人费解的_siftup与_siftdown函数
观海胸襟阔
Python数据结构与算法python算法数据结构
【Python】Python中的heapq模块详解,令人费解的_siftup与_siftdown函数heapq模块基本介绍小顶堆的定义和特性heapq模块的作用heappush函数heappop函数heappush函数与_siftdown函数改良后的heap_push函数heappop函数与_siftup函数改良后的heap_pop函数heapq模块与改进后的HeapLittle的验证heapq模
- Linux内核调度子系统之big.little架构
Surest
linux内核
1.armbig.little架构 传统的arm多核系统一般都是对称性质的所以可以常见CPU的架构为双核A9四核A7等。随着移动设备高速发展,arm开始推出了非对称式的cpu架构。例如:双核A53和双核A72混合封装到SOC上,这样的形式一般称为big.little架构。第一个在商业上使用这个架构的CPU是三星samsungexynos5410,这款芯片用在了三星SamsungGalaxys4这款
- C语言深度剖析:数据在内存中的存储
全栈ing小甘
C语言c语言arm开发开发语言
C语言深度剖析:数据在内存中的存储一、大小端模式:多字节数据在内存中的存储顺序在计算机系统中,大小端模式(Big-Endian和Little-Endian)是指多字节数据在内存中的存储顺序。理解大小端模式对跨平台开发、数据传输以及性能优化都非常重要。1.什么是大小端?假设有一个32位整数0x12345678,它的二进制表示为:0x12345678=0001001000110100010101100
- LangChain 入门与避坑指北_chatglm3的half精度是什么意思
程序员老冉
langchaintransformer面试深度学习机器学习算法ai
前言:本文对最近学习LangChain的过程进行一个简单的概述,介绍基本的概念、简述需要注意的问题,并提供我觉得当下还不错的学习方法。1前期准备Python基础,alittle就行,或者拥有基本的debug能力即可上手shell基础,环境问题是所有问题中最头疼的问题,有shell命令的基础能快速复现环境即可面向对象思想。可有可无,这是后面自己查看工程结构的必须,减少重复编程。6g+的显存orOPE
- python与c的md5运算速度对比
在学02
python开发语言c语言hash密码学性能优化
计算0-50000000(5千万)的u64数字的md5值的第一个字节为0的数字的个数。pythonfromhashlibimportmd5importtimet1=time.time()n=0foriinrange(50000000):#print(md5(i.to_bytes(16)).hexdigest())ifmd5(i.to_bytes(8,byteorder='little')).dig
- Remove Exactly Two ( [Codeforces Round 1000 (Div. 2)](httpsmirror.codeforces.comcontest2063) )
BoBoo文睡不醒
acm训练集合搜索dfs数据结构
RemoveExactlyTwo(CodeforcesRound1000(Div.2))Recently,LittleJohngotatreefromhisaunttodecoratehishouse.Butasitseems,justonetreeisnotenoughtodecoratetheentirehouse.LittleJohnhasanidea.Maybehecanremoveafe
- 嵌入式Linux驱动学习_简单了解Cortex-A7 MPCore架构
Les maths
linux运维服务器
Cortex-A7MPcore处理器支持1~4核,通常是和Cortex-A15组成big.LITTLE架构的,Cortex-A15作为大核负责高性能运算,比如玩游戏啥的,Cortex-A7负责普通应用,因为CortexA7省电。Cortex-A7本身性能也不弱,不要看它叫做Cortex-A7但是它可是比Cortex-A8性能要强大,而且更省电。Cortex-A7MPCore支持在一个处理器上选配1
- ARM Cortex-A7 MPCore 架构
小火球2.0
BSP从入门到精通arm开发
1、Cortex-A7MPCore简介Cortex-A7MPcore处理器支持1~4核,通常是和Cortex-A15组成big.LITTLE架构的,Cortex-A15作为大核负责高性能运算,比如玩游戏啥的,Cortex-A7负责普通应用,因为CortexA7省电。Cortex-A7本身性能也不弱,不要看它叫做Cortex-A7但是它可是比Cortex-A8性能要强大,而且更省电。ARM官网对于C
- [linux thermal] cpufreq_power2state()函数学习
折木H.O.
linuxthermal
前言在thermal管理中,IPA策略将会为各个actors(cpubigcore、littlecore、GPU等)分配预算功率,以达到“控制温度的同时尽量保证性能”的目的。那么该功率是如何起作用的?大致思路:power_budget—>target_freq—>cooling_state,先进行功率划分,再获得待调节的目标频率,然后获得冷却等级。最后coolingdevices根据冷却等级进行冷
- 用Rust写小程序“Hello,world!“
qq_31163099
rust小程序开发语言
Hello,World!Nowthatyou’veinstalledRust,it’stimetowriteyourfirstRustprogram.(现在你已经安装了Rust,是写你的第一个Rust程序的时候了。)It’straditionalwhenlearninganewlanguagetowritealittleprogramthatprintsthetextHello,world!Tot
- C - Nastya Is Transposing Matrices CodeForces - 1136C
Gee_Zer
思维
C.NastyaIsTransposingMatricestimelimitpertest1secondmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputNastyacametoherinformaticslesson,andherteacherwhois,bytheway,alittlebitfamousher
- Codeforces Round 988 (Div. 3)
BoBoo文睡不醒
codeforces笔记
CodeforcesRound988(Div.3)C.Superultra’sFavoritePermutationtimelimitpertest2secondsmemorylimitpertest256megabytesSuperultra,alittleredpanda,desperatelywantsprimogems.Inhisdreams,avoicetellshimthathe
- Nastya Is Transposing Matrices ( Codeforces Round 546 (Div. 2) )
BoBoo文睡不醒
acm训练集合构造
NastyaIsTransposingMatrices(CodeforcesRound546(Div.2))Nastyacametoherinformaticslesson,andherteacherwhois,bytheway,alittlebitfamousheregaveherthefollowingtask.TwomatricesAAAandBBBaregiven,eachofthemha
- linux进程调度HMP,HMP调度器和EAS调度器
熙公主的爪牙
linux进程调度HMP
HMP调度器为了降低功耗,ARM开发了大小核架构处理器。Linux内核中的负载均衡算法基于SMP模型,并未考虑big.LITTLE模型,因此Linaro开发了一个HMP调度器用于支持这种架构,它也被用于Android5.x和Android6.x中,但这种调度器并没有被合入内核的基线中。该调度器的进程调度算法基本上和CFS一样,主要区别在于调度域和负载均衡的处理上。HMP调度域的实现比自带的CFS调
- BUUCTF [b01lers2020]little_engine
皮皮蟹!
BUUCTF
1.拿到文件,进入主函数:这个是动调之前的主函数,开始动调:其中,已知字符串已经给出,为unk_5617CE521220,一共300位:进入加密函数sub_5608DAAB8510:通过多次动态调试,得到了加密算法的逻辑。看判断函数sub_5608DAAB85A0:综上,写出加密脚本:a=[0xE1,0xE
- lscpu输出详解
zdd56789
红帽学习记录linux
1、lscpu输出含义:Architecture:x86_64#cpu架构,例如x86_64CPUop-mode(s):32-bit,64-bit#cpu支持的操作模式,如32-bit、64-bitByteOrder:LittleEndian#字节顺序,一般为小端序(littleendian)或(bigendian)CPU(s):1#cpu的数量On-lineCPU(s)list:0#在线cpu的
- 字节序(Endian)、大端(Big-Endian)、小端(Little-Endian)
qfnu08zzr
ARM开发操作系统motorola存储网络bytenetworkibm
在各种计算机体系结构中,对于字节、字等的存储机制有所不同,因而引发了计算机通信领域中一个很重要的问题,即通信双方交流的信息单元(比特、字节、字、双字等)应该以什么样的顺序传送。如果不达成一致的规则,通信双方将无法进行正确的编译码从而导致通信失败。目前在各种体系的计算机中通常采用的字节存储机制主要有两种:大端(Big-Endian)、小端(Little-Endian)。字节顺序(Endian)现代计
- 字节序(Byte Order)
是小hu
汽车零部件计算机内存数据顺序
字节序是指在计算机内存中存储多字节数据的顺序。主要有两种字节序:小端序(LittleEndian)和大端序(BigEndian)。在这两种字节序中,数据的存储顺序是不同的。###Intel和Motorola字节序在讨论字节序时,Intel和Motorola通常代表了小端序(LittleEndian)和大端序(BigEndian)两种不同的存储方式:1.**Intel字节序(LittleEndian
- 使用Intel编译器解决字节序问题
intel_yang
编译器平台compiler网络协议工作gcc
使用Intel编译器解决字节序问题1.什么是字节序(Endianess)Endian或者Endianess,一般指的是在外部内存中存储的字节顺序。在IA平台上开发网络程序的程序员大多遇到过字节序问题。网络协议是按照大端字节序定义的,我们通常称之为Big-endian,简称大端。IA架构的主机字节序是小端字节序,我们称之为Little-endian,简称小端。在主机上定义的数据比如IP地址在发送到网
- Intel架构的基本知识
相忘于江湖-mfc
架构寄存器汇编c++
1.字节序CPU的字节序分为LittleEndian和BigEndian。所谓Endian,就是多字节数据在内存中的排列方式。例如,假设有一个整数0x11223344:LittleEndian的排列方式是,从内存的低地址开始,依次存放0x440x330x220x11;BigEndian的排列方式是,从内存的低地址开始,依次存放0x110x220x330x44。Intel架构采用LittleEndi
- 在stm32中C语言编写的程序中,一个整形数据是怎么存储的,高位在前还是低位在前
魂兮-龙游
嵌入式C语言开发stm32c语言java
目录举个例子如何验证小结在STM32(基于ARMCortex-M架构)的系统中,默认是小端(LittleEndian)存储方式。也就是说,对于一个整型(例如32位int),它的最低有效字节(LSB)会存储在内存的低地址处,而最高有效字节(MSB)会存储在内存的高地址处。举个例子假设有一个32位的intdata=0x12345678;在小端模式下,内存中的存放顺序从低地址到高地址依次是:低地址->0
- 什么是报文的大端和小端,有没有什么记忆口诀?
Ly.Leo
数据结构
在计算机科学中,**大端(Big-Endian)和小端(Little-Endian)**是两种不同的字节序(即多字节数据在内存中的存储顺序)。理解这两种字节序对于网络通信、文件格式解析以及跨平台编程等非常重要。1.大端(Big-Endian)定义:高位字节(最重要的字节)存储在内存的低地址处,低位字节(最不重要的字节)存储在高地址处。示例:假设有一个32位的整数0x12345678,在大端模式下的
- 单相计量芯片RN8209D使用经验分享(转)
weixin_30622107
大数据嵌入式
单相计量芯片RN8209D使用经验分享转载于:https://www.cnblogs.com/LittleTiger/p/10736060.html
- 数值存储(一)-CPU大端和小端模式详解
poclist
osdev
大端与小端在嵌入式开发中,大端(Big-endian)和小端(Little-endian)是一个很重要的概念。MSB与LSB最高有效位(MSB)指二进制中最高值的比特。在16比特的数字音频中,其第1个比特便对16bit的字的数值有最大的影响。例如,在十进制的15,389这一数字中,相当于万数那1行(1)的数字便对数值的影响最大。比较与之相反的“最低有效位”(LSB)。LSB(LeastSignif
- 使用amd显卡本地运行ollama模型(RX6700)
丨丿丶176
ollama运行大模型语言模型
查看amd显卡是否支持ROCmAMD支持官网因为RX6700不支持HIPSDK,所以需要根据型号去ROCmLibs查找对应压缩包RX6700对应型号为gfx1031,对应的压缩包为rocm.gfx1031.for.hip.sdk.6.1.2.optimized.with.little.wu.s.logic.7z下载安装包后,继续处理ollama的安装因为官方不支持RX6700显卡加速,所以需要去o
- Big-endian(大端字节序)与Little-endian(小端字节序)区别
kse_music
技能arm开发字节大端字节小端字节
文章目录前言字节序的定义举例说明为什么有两种字节序应用举例总结前言BIG_ENDIAN和LITTLE_ENDIAN是两种不同的字节序(ByteOrder)表示方式,用于指定数据在内存中存储的顺序。字节序的定义字节序指的是多字节数据类型(如int,long,float等)在计算机内存中的存储顺序。主要有两种字节序:Big-endian(大端字节序):最高有效字节(MostSignificantByt
- Lesson 109 A good idea
AllenAC
新概念英语1学习笔记
Lesson109Agoodidea词汇idean.主意,想法复数:ideas用法:口语:Goodidea!好主意!Bigidea!高见!好主意!Greatidea!好主意Badidea!坏主意!用法:theideaof………的主意例句:你对他的想法是对的。Yourideaofhimisright.alittle一点儿(加不可数名词)区别:alittle(还有)一点儿+不可数名词——情感肯定lit
- 成长记录,亲子阅读第238篇
Viki和两宝共成长
图片发自App英语启蒙慢慢步入正轨了,今天二宝自己拿点读笔点点点,看绘本《LittleBig》看了5遍。每一次都有问题提问。不错,不错,就是很多问题妈妈回答不出来,比如那个小朋友是怎样坐在凳子上的,鳄鱼为啥变那么大?会不会吃掉小朋友?凯叔的《声律启蒙》也是进去状态了。二宝已经会背了,我和大宝还不会,明天努力努力应该差不多。加油!
- 欠自己良多,不欠你分毫
George加油吧
前言用我的手牵着你向前走不愿再让你低头原来若即若离不受你的左右这爱情来的不是时候因为我狂恋你才不愿意放手你却执意一人等候爱情徒有虚名向左走向右走缓过了不寻常的节奏来自@沈以诚《狂恋你(Cover:EveryLittleThing)》你我都在这座城市我是水瓶座,一个无药可救的星座。水瓶大概都是,从相遇到离开,我欠自己良多,不欠你分毫。水瓶给人第一感觉就是冷漠,可是当你真正与他相处时,你会发现水瓶是那
- 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