- 如何安装vm和centos
小白的白是白痴的白
centoslinux运维
一、安装VMware虚拟机1.**下载VMwareWorkstationPro**:-访问VMware官网,找到下载页面,选择适合您操作系统的版本进行下载。2.**安装VMwareWorkstationPro**:-打开下载好的安装包,点击“下一步”。-勾选“我接受许可协议中的条款”,继续点击“下一步”。-勾选“增强型键盘驱动程序”,并根据需要选择是否安装其他附加组件。-选择安装路径,建议选择非系
- 从零搭建 Vue3 + VIte + Ts 项目 —— 并集成eslint 、prettier
2301_82244509
ubuntulinux运维
plugins:[‘vue’,‘@typescript-eslint’],//新增root:true,//对某些文件进行单独配置(这里针对TypeScript文件)overrides:[{files:[‘.ts’,'.tsx’,‘*.vue’],rules:{‘no-undef’:‘off’,//在TypeScript中没有必要使用no-undef规则},},],//自定义规则rules:{//h
- Deepin(Linux)设置开机自动启动 MySQL
Lu01
TheSQLLablinuxmysql运维
要在系统启动时自动启动MySQL,可以通过配置systemd来实现。由于已经完成了MySQL的安装并且能够启动MySQL服务,接下来我们将创建一个systemd服务单元文件,让MySQL在系统启动时自动启动。1.创建systemd服务文件首先,创建一个新的systemd服务单元文件mysql.service。使用sudo编辑并创建该文件:sudonano/etc/systemd/system/my
- 深入理解 C++ 二叉树
Ysjt | 深
深入理解C++二叉树c++数据结构开发语言
一、引言在计算机科学中,数据结构是程序设计的重要基础。二叉树作为一种经典的数据结构,在众多领域都有着广泛的应用。C++作为一种强大的编程语言,提供了丰富的工具和语法来实现和操作二叉树。本文将深入探讨C++中的二叉树,包括其定义、特点、各种操作以及实际应用。二、二叉树的定义与基本概念(一)定义二叉树是一种每个节点最多有两个子节点的树状数据结构。这两个子节点分别被称为左子节点和右子节点。(二)基本概念
- python基础进阶:miniconda创建虚拟环境
49.99%
pythonpython
前面虚拟环境是安装在一个Python解释器下的,如果想使用不同版本的Python环境该怎么创建呢?这个时候miniconda就派上用场了。Miniconda可以在创建虚拟环境时指定安装不同版本的Python解释器。Miniconda下载地址:https://docs.conda.io/en/latest/miniconda.html安装好miniconda后将scripts目录配置到环境变量中,就
- 手把手教你使用docker-compose部署jenkins
你的阔哥哥啊
dockerjenkins
1,环境准备dockerdocker-compose2,编写docker-compose文件version:'3'services:#集合docker_jenkins:user:root#为了避免一些权限问题,这里使用了rootrestart:always#重启方式image:jenkins/jenkins:lts#指定服务所使用的镜像,这里选择了LTS(长期支持)container_name:j
- python超好用的爬取金融数据的第三方库AkShare
知识进脑的肖老千啊
python爬虫金融python大数据
python超好用的爬取金融数据的第三方库AkShare,爬取数据并保存成excel格式这是我在爬取数据时候找到的超级好用的第三方模块!它还有个官网是这个https://www.akshare.xyz/zh_CN/latest/introduction.html官网上还有示例代码!在这里我就不一一给你们举例了虽然官网推荐是安装python3.7以上的版本!但是我是python3.6还是能用安装代码
- Miniconda配置——conda虚拟环境的日常使用
guikunchen
Ubuntu环境配置软件配置
安装wget-chttps://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.shchmod+xMiniconda3-latest-Linux-x86_64.shbashMiniconda3-latest-Linux-x86_64.sh#记住更新PATH到~/.bashrc时选noConda、CUDA等软件一般装在home//
- 数据结构——栈的实现
go_bai
数据结构数据结构开发语言c语言笔记经验分享学习方法
今天,我们来写一下关于栈的博文。1.首先我们先了解一下什么是栈?一:概念:栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(LastInFirstOut)的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据也在栈顶为了更好的理解,我们画个图辅助了解一
- Lua 常用工具类代码记录(一)
警醒与鞭策
UnityHotFix
//Lua正则表达式如何匹配中文///functionCheckChinese(s)localret={};localf='[%z\1-\127\194-\244][\128-\191]*';localline,lastLine,isBreak='',false,false;forvins:gfind(f)dotable.insert(ret,{c=v,isChinese=(#v~=1)});en
- Lua中的垃圾回收机制
Dandelion_gong
lualua内存垃圾回收机制
遇到问题:在运行lua脚本时,出现下面报错说内存不足:>lua-e"io.stdout:setvbuf'no'""最大值最小值检查.lua"lua:notenoughmemory>Exitcode:1原因是,lua解释器是32位的,它的内存大小只有2GB,当它内存不够时就会出现上述提示。lua语言虽然会自己回收释放掉的资源,但是,它的回收机制并不是实时回收的,而是,他会将脚本中无用了的变量进行标记
- C++实现的二叉树创建和遍历,超入门邻家小女也懂了_c++二叉树的建立与遍历
2401_84185441
程序员c++开发语言
structTreeNode{intval;TreeNode*left;TreeNode*right;TreeNode(intx):val(x),left(NULL),right(NULL){}};在C/C++语言中,经常使用NULL来表示空指针。NULL在头文件里的定义:#ifndefNULL#ifdef__cplusplus#defineNULL0#else#defineNULL((void*
- ioctl函数讲解
随便取个六字
v4l2linux
在学习Linux设备驱动和视频开发的时候,对于这个函数又去了解了一下,因为之前觉得似懂非懂,所以这里来个总结吧,下面的都是在v4l2上面来讲解一下1.ioctl是什么?可以把ioctl(Input/OutputControl)想象成一个万能遥控器。就像平时用遥控器控制电视(换台、调音量、设置画质),ioctl就是用来控制各种硬件设备的“遥控器”2.为什么需要它?普通的read()和write()只
- Linux驱动:关于Linux权限的概念(我觉得很全面)
随便取个六字
linux运维服务器
本文仅作为学习,如果有错误欢迎指正,有雷同算我抄他,我认错如果涉及侵权立马删除全文近4000字一、Linux用户与权限管理在Linux系统中,用户分为两种主要类型root(超级用户):具有系统中最高的权限,可以执行任何操作,不受系统限制。提示符:当以root用户登录时,命令行的提示符通常是#,表示你有超级用户权限。普通用户:具有有限的权限,不能随意操作系统关键文件,主要用来执行日常任务。提示符:普
- 为什么DeepSeek必须开源(以及它为何不会打败OpenAI)
新加坡内哥谈技术
人工智能深度学习机器人科技语言模型
每周跟踪AI热点新闻动向和震撼发展想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行!订阅:https://rengongzhineng.io/如今,DeepSeek的名字已经传遍整个科技圈。这家中国AI实验室训练出了R1——一款开
- Node.js 文件操作教程
神秘代码行者
Node.jsnode.js
Node.js文件操作教程1.文件系统模块介绍Node.js提供了fs(FileSystem)模块来处理文件操作。这是一个内置模块,不需要额外安装。使用前,需要先引入:constfs=require('fs');//或使用PromiseAPIconstfsPromises=require('fs').promises;2.同步vs异步操作Node.js的文件操作提供了同步和异步两种方式。异步方式是
- lua垃圾回收机制
努力的小钟
lua开发语言
文章目录前言一、垃圾回收机制概述二、底层原理三、GC控制与调优四、GC的局限性总结前言Lua的垃圾回收(GarbageCollection,GC)机制是一种自动内存管理技术,主要基于标记-清除(Mark-and-Sweep)算法,并结合了增量式(Incremental)和分代(Generational)优化策略(不同版本实现略有差异)。以下是其核心机制和底层原理的详细分析:一、垃圾回收机制概述自动
- c++,二叉树
慕容晓开
日常学习c++算法数据结构
#include#include#include#include#includeusingnamespacestd;typedefstructNode{intkey,ltag,rtag;Node*lchild,*rchild;}Node;Node*getNewNode(intkey){Node*p=(Node*)malloc(sizeof(Node));p->key=key;p->ltag=p->
- linux用openssl制作自签名数字证书
EM-FF
工具使用方法ssl
1.安装openssl1.1查看是否安装了openssl[root@hh~]#rpm-qlopenssl1.2未安装,使用安装命令yuminstallopenssl1.3安装完或已安装的会出现一下目录,可能会多一些目录/etc/pki/CA/etc/pki/CA/certs/etc/pki/CA/crl/etc/pki/CA/newcerts/etc/pki/CA/private/etc/pki/
- leetcode 537 py 中map函数用法
EM-FF
算法刷题
题目出自leetcodeclassSolution:defcomplexNumberMultiply(self,num1:str,num2:str)->str:#(a0+b0i)*(a1+b1i)=a0*a1-b0*b1+(a0*b1+b0*a1)ia0,b0=map(int,num1[:-1].split("+"))a1,b1=map(int,num2[:-1].split("+"))retur
- 【算法分析】实验 4. 回溯法求解0-1背包等问题
weixin_30387663
数据结构与算法
目录实验内容实验目的实验结果步骤1:描述与分析步骤2:策略以及数据结构步骤3步骤4步骤5步骤6实验总结实验内容本实验要求基于算法设计与分析的一般过程(即待求解问题的描述、算法设计、算法描述、算法正确性证明、算法分析、算法实现与测试),通过回溯法的在实际问题求解实践中,加深理解其基本原理和思想以及求解步骤。求解的问题为0-1背包。作为挑战:可以考虑回溯法在其他问题(如最大团问题、旅行商、图的m着色问
- 21.回溯算法3
居然有人654
算法数据结构c++
复原ip地址classSolution{public:stringip;vectorres;intlevel=0;voidbacktracking(strings,intstart){if((level==4)&&(start==s.size())){res.push_back(ip.erase(ip.size()-1,1));return;}elseif((levels.size())){ret
- PyTorch实现DARTS:可微分架构搜索指南
余伊日Estra
PyTorch实现DARTS:可微分架构搜索指南pt.darts项目地址:https://gitcode.com/gh_mirrors/pt/pt.darts项目介绍PyTorchImplementationofDARTS(简称pt.darts)是一个基于PyTorch框架的DARTS算法实现库。DARTS(DifferentiableArchitectureSearch)是一种创新的神经网络架构
- 服务器系统都更新到windowsserver2025了
大山运维
windows服务器
WindowsServer2025新功能:由AzureArc启用的热修补此功能让完全在云中运营的客户能够享受到现代安全优势,如自动软件更新、备份及恢复。NVMe存储性能在相同系统上,WindowsServer2025提供的存储IOPs性能相较于WindowsServer2022提升了60%。块克隆支持得益于DevDrive使用的ReFS文件系统格式,块克隆支持在文件复制时展现出了显著的性能优势。新
- 论文阅读笔记1——DARTS:Differentiable Architecture Search可微分架构搜索(一)(论文翻译学习)
fuhao7i
论文阅读笔记深度学习人工智能机器学习算法计算机视觉
DARTS:DifferentiableArchitectureSearch可微分架构搜索(一)DARTS:DifferentiableArchitectureSearch(一)ABSTRACT摘要1.INTRODUCTION介绍2.可微的结构搜索加油加油!如果你感觉你现在很累,那么恭喜你,你现在正在走上坡路!让我们一起加油!欢迎关注我的讲解视频,让我们一起学习:Bilibili主页:https:
- 通过C++编程语言实现“数据结构”课程中的链表
珠峰日记
数据结构c++链表
下面是用C++实现单链表的完整代码,包含插入、删除、遍历、反转等核心操作。#includeusingnamespacestd;//链表节点结构体structNode{intdata;//数据域Node*next;//指针域Node(intval):data(val),next(nullptr){}};//链表类classLinkedList{private:Node*head;//头节点指针pub
- IDEA切换到JDK11
珠峰日记
工具javaintellijidea
一、下载JDK11二、ProjectStructure设置这里一定要记得点击APPLY,我开始没点,测试var时总是提示出错。三、JavaCompiler版本更改
- Linux新手入门必备------基本指令
是北欢吆
Linux操作系统linux运维服务器
目录一、获取帮助信息1、man指令2、help指令3、常用快捷键二、文件目录类1、pwd显示当前工作目录的绝对路径2、ls列出目录的内容3、cd切换目录4、mkdir创建一个新文件目录5、touch创建空文件6、cp复制文件或目录7、rm/rmdir删除文件或目录8、mv移动文件与目录或重命名9、cat查看文件内容10、more文件内容分屏查看器11、less分屏显示文件内容12、head显示文件
- 回溯算法总结
Javan Lu
算法题算法数据结构java
回溯法17.电话号码的字母组合22.括号生成39.组合总和40.组合总和II46.全排列47.全排列II77.组合78.子集90.子集II93.复原IP地址79.单词搜索131.分割回文串401.二进制手表当遇到组合问题的时候,要想到回溯法。17.电话号码的字母组合classSolution{Listres=newArrayListmap=newHashMapletterCombinations(
- 学习笔记——蓝桥杯单片机基础------P2=(P2 & 0x1f) | 0x80...
Born_toward
蓝桥杯学习笔记蓝桥杯c语言单片机
目录一、简述二、相关知识介绍2.1二进制转换2.2转换方法三、举一反三3.1P2=(P2&0x1f)|0xa03.2P2=(P2&0x1f)|0xc03.3P2=(P2&0x1f)|0xe0一、简述在蓝桥杯单片机锁存器控制IO口编写代码时会用到它,可以优化代码。这是一个简单的二进制转换和运用到数电基础的“&”和“|”,即与和或。二、相关知识介绍2.1二进制转换在8051单片机中,初始P2的各个引脚
- 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