向memcache中写入时有必要lock吗?

问题描述

没有这方面经验老大让写个缓存操作类说最好写的时候加上lock对吗这种观点

解决方案

解决方案二:
除非你能百分百保证不对统一内存发生写入冲突,或数据破坏,否则还是加锁
解决方案三:
引用1楼bdmh的回复:

除非你能百分百保证不对统一内存发生写入冲突,或数据破坏,否则还是加锁

其实我感觉就是对一个新闻的查询有一点脏数据也无所谓加了锁对性能影响大吗?
解决方案四:
引用楼主pang51a的回复:

没有这方面经验老大让写个缓存操作类说最好写的时候加上lock对吗这种观点

你能写出一个测试程序让不lock时出现bug吗?请写出一个来!如果一点测试的思路都没有,那么其原始创意就是非常可疑的。

时间: 2024-10-28 22:39:54

向memcache中写入时有必要lock吗?的相关文章

qt txt文件 中文 乱码-Qt5中用QTextStream向txt文件中写入中文字符串,打开文件时出现乱码

问题描述 Qt5中用QTextStream向txt文件中写入中文字符串,打开文件时出现乱码 在网上查了一些关于Qt中文乱码的问题,主要是因为机器的编码问题QTextCodec::setCodecForLocale(QTextCodec::codecForName(""GBK""));QTextCodec::setCodecForCStrings(QTextCodec::codecForName(""GBK"")); QText

在asp.net的后置代码中写入javascript语句,防止提示框背景变白

一般,当我们在网页中弹出类似于msgbox的提示信息时,背景页面都是白色的,这样看起来很不爽例如:怎么解决这个问题?可以在asp.net的后置代码中写入javascript语句,防止背景变白 if (code!=rightCode ){Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language="javascript" defer>al

可精确到1毫秒的用以在记录文件中写入自定义的调试信息(主要是时间)的组件

上次我发布了一个用以在记录文件中写入自定义的调试信息(主要是时间)的组件,但由于CLR的限制,它只能精确到10毫秒左右.后来我参考了网络上的一篇文章:http://blog.joycode.com/lostinet/archive/2005/04/24/49590.aspx(在这里首先向原作者表示感谢)通过调用系统API得到了可精确到1毫秒左右的时间记录.故特重新用C#重写了这个组件,与大家共享. //===============================================

用以在记录文件中写入自定义的调试信息(主要是时间)的组件

'===================================================================='TraceSpy - 用以在记录文件中写入自定义的调试信息(开发者:林健)'====================================================================''属性:'       TraceFileName        - 记录文件名''方法:'   ★文本写入方面'       WriteText

如何用在ASP.NET中写入事件日志

asp.net 文包含有关编辑注册表的信息.编辑注册表之前,务必先了解在发生问题时如何还原注册表.有关如何还原注册表的信息,请查看 Regedit.exe 中的"还原注册表"帮助主题,或 Regedt32.exe 中的"还原注册表项"帮助主题. 现象 当你使用asp.net 向事件日志中写入一个新的"事件来源"时,可能会得到如下错误消息: System.Security.SecurityException: 不允许所请求的注册表访问权 原因 运行

memcache中add、set和replace有什么区别

用过memcache的人都有一个疑惑,那就是memcache中为什么会有一个add方法.一个set方法.一个replace呢,这几个方法又有着什么样的区别呢,下边我们来分析下这几个方法的不同之处: memcache::add 方法:add方法用于向memcache服务器添加一个要缓存的数据. memcache::set 方法:set方法用于设置一个指定key的缓存内容,set方法是add方法和replace方法的集合体 mmecache::replace方法: replace方法用于替换一个指定

VB6如何在托盘中写入应用程序图标

本文详细介绍VB6如何在托盘中写入应用程序图标 相关文章: 用VB实现托盘动画图标 VB托盘程序详解一 VB托盘程序详解二 VB托盘程序详解三 VB托盘程序详解四 VB托盘程序详解五 也谈Windows下的自动存盘 利用WindowsAPI获得系统高级功能 1.新建立一个VB6工程,将Form1的ShowInTaskBar属性设置为False 2.菜单:工程--添加模块 按"打开"这样就添加了一个新模块,名为Module1,保存为Module1.bas 3.在Module1中写下如下代

webbrowser在html中写入内容并添加js

在html中写入内容,并添加js private void btnTestJs_Click(object sender, EventArgs e) { this.webBrowser1.Navigate("about:blank"); this.webBrowser1.Document.Write("testBody");//make the this.webBrowser1.Document.Body is not null HtmlElement he = th

c语言中向二维字符数组中写入符号*

问题描述 c语言中向二维字符数组中写入符号* 声明一个二维字符数组char str[][]: 通过循环嵌套向里面写入符号 * 怎么实现?求前辈指教. 解决方案 for (int i = 0; i < 100; i++) { arr[i / 10][u % 10] = ' '; } for (i =0; i < 10; i++) { arr[3][i] = '*'; arr[4][i] = '*'; arr[i][3] = '*'; arr[i][4] = '*'; } 解决方案二: 只要一行