mybatis缓存没有及时更新的问题 1C

ssm整合web项目时,用户a登陆系统,查询到的权限a1(这时他查询到的权限保存到了
缓存中),同时,用户b登陆系统,并对用户a的权限做出了修改(或者手动的去数据库修
改了用户a的权限),此时用户a的权限在数据空中发生了变化,但是查询缓存中并没有
变化。用户a在在系统中的权限没有得到及时的更新。
请问大神们,如何解决这个问题?????
急急急急急急!!!!!

2个回答

你在B中修改保存A,之前的A应该重新获取才对吧?

a314066646
FEN_TA 这个就不是缓存了,应该在前台定时获取刷新A吧
2 年多之前 回复
sinat_36626100
小短腿 回复a314066646: 就像网页上的商品一样,要用到3级缓存,这个也是吗?
2 年多之前 回复
sinat_36626100
小短腿 回复a314066646: 我的意思是,用户a已经登录上了,然后在修改数据库权限的数据,这样,如何能让a用户的权限及时更新
2 年多之前 回复
a314066646
FEN_TA 回复小短腿: 你在查询的时候也先刷新缓存
2 年多之前 回复
sinat_36626100
小短腿 回复a314066646: 意思是用户b在修改了a的权限的时候,缓存更新了,所以能查到正确的东西。这样算解决了。但是如果手动的去数据库修改了权限的时候,该怎么处理
2 年多之前 回复
a314066646
FEN_TA 回复小短腿: http://www.360doc.com/content/15/1205/07/29475794_518018352.shtml看一下这个吧,配置插入时刷新缓存
2 年多之前 回复
sinat_36626100
小短腿 重新获取,还是select语句,查的也是缓存中的内容啊
2 年多之前 回复

不要做客户端缓存,做服务端缓存,B修改后立即清楚A的缓存

sinat_36626100
小短腿 如何具体操作,麻烦给说一下
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
mybatis缓存没有及时更新的问题
ssm整合web项目时,用户a登陆系统,查询到的权限a1(这时他查询到的权限保存到了n缓存中),同时,用户b登陆系统,并对用户a的权限做出了修改(或者手动的去数据库修n改了用户a的权限),此时用户a的权限在数据空中发生了变化,但是查询缓存中并没有n变化。用户a在在系统中的权限没有得到及时的更新。n请问大神们,如何解决这个问题?????
PHP如何及时更新缓存
我用的是memcache,我想问应该如何设计,才能保证在更新数据后,及时删除或更新缓存。
为什么prograssbar没有及时更新?
代码如下,现象是listview可以一条一条加进去,这个正常,但为什么prograssbar是静止不动的,没有逐步增长,但等线程结束后,prograssbar会一下子完成从0到100的加载,这个是怎么回事?怎么解决?谢谢。rnrn[code=csharp]rnprivate void btnDownload_Click(object sender, EventArgs e)rn rn if (string.IsNullOrWhiteSpace(tbInputs.Text))rn rn MessageBox.Show("请输入要下载的产品信息,包括产品编号和下载地址,多个产品请用换行分开");rn return;rn rn btnDownload.Enabled = false;rn ThreadStart ts = new ThreadStart(StartDownload);rn workerThread = new Thread(ts);rn workerThread.Start(); rn rnrn private void StartDownload() rn string[] products = tbInputs.Text.Split('\n');rn int i = 0;rn foreach (var product in products)rn rn i++;rn var productInfo = product.Split(',');rn string productCode = productInfo[0].Trim();rn string downloadURL = productInfo[1].Trim();rn if (string.IsNullOrEmpty(productCode) || string.IsNullOrEmpty(downloadURL))rn rn AddDownloadResult(productCode, downloadURL, 0, i, products.Length, true);rn continue;rn rnrn var pro = TmallProductFactory.GetProduct(productCode, downloadURL);rn if (pro != null)rn rn int cnt = pro.DownloadPictures();rn AddDownloadResult(productCode, downloadURL,cnt, i, products.Length);rn rn rnrn rnrn private void AddDownloadResult(string code, string url, int cnt, int index, int total, bool isErrorItem=false)rn rn ListViewItem li = new ListViewItem();rn if (isErrorItem)rn li.ForeColor = Color.Red;rn li.SubItems[0].Text = code;rn li.SubItems.Add(url);rn li.SubItems.Add(cnt.ToString());rn string path = System.Configuration.ConfigurationManager.AppSettings["PictureSavedRootPath"]+code;rn li.SubItems.Add(path);rnrn this.Invoke(new Action(delegate()rn rn this.listView1.Items.Add(li);rn progressBar1.Value = Convert.ToInt32((index / total) * 100);rn ));rn rn[/code]
填一个laravel视图缓存没有及时更新的坑
原文地址:填一个laravel视图缓存没有及时更新的坑1.此坑背景laravel在渲染blade模板后,会将渲染好的结果存到storage/framework/views(默认路径,也可在配置中修改的)中,以便下次使用。但我最近总是发现修改了blade模板,但怎么刷新都还是有视图缓存。除非执行 php artisan view:clear 清空缓存。google 好多次,得到了以下结论: 1.la...
怎么及时更新Memcache缓存的内容
connect("127.0.0.1", 11211);rnrn$data="读取数据库的新闻列表内容";rnrn//保存数据rn$mem->set('key1', $data 0, 3600);rn$val = $mem->get('key1');rnecho "Get key1 value: " . $val ."rn";rnrn//关闭连接rn//$mem->close();rnrn?>rnrn怎么更新Memcache 缓存的内容?rn
数据库发生变化,怎么及时更新缓存?
为了访问速度,设计了缓存,但当数据库发生变化时,缓存里的数据已经不是最新的了,怎么样及时同时缓存,让用户在下一次访问里获得最新的数据?能不能做成数据库推送的形式?
listview 及时更新问题
前端一个activity 中含有一个listview 显示 拦截到的短信列表rn后台BroadcastReceiver拦截短信,如何能做到拦截到一条信息后listview 及时自动更新
treeview及时更新的问题
左边是treeview控件,右边是datawindow,datawindow新增或修改后,左边treeview控件及时更新rnrn说明:rntreeview有三层,在treeview的Constructor中生成第一、二层,在ItemPopulate中展开第三层,在SelectionChanging 中生成右边的数据窗口,在数据窗口中添加或修改数据。
及时更新
我想问一下,rn我在datagrid选中一行,删除了该记录后,怎么样才能让datagrid表中的内容也发生变化,现在我删除了后不能及时发生变化,要经过刷新才更新的 rn是手动编写代码,没有拖组件
数据库的及时更新及时显示问题~
我用asp从数据库中提出数据显示在网页上,并提供了一些按钮使用户能够在网页上修改数据,提交后把修改的结果应用到数据库,但有一个问题:rn我提交修改后数据库确实更新了,但网页上的数据并没有变,我想是网页没有刷新的问题,所以我再没出更新的地方加入了一下代码:rn%> <%rn但会出现一个提示框,说:rn"不重新发送信息就无法刷新网页。请单击重试重新发送信息或单击取消返回正在查看的页。"rn有什么办法能够不显示这条提示框呀?
分开的两个程序使用共同的mysql,一端更新了表,另一端怎么及时更新缓存,使用mybatis
目前项目中由于业务系统和管理系统是分开的,管理端只负责对数据库表的CRUD,而业务系统也需要交互db。现在就存在一个问题,在管理端上改了某个表的值,业务端是无从得知的。因为业务端一直用相同的语句查询db,mybatis的二级缓存会缓存这些数据,不会真正发sql去查询真实数据。所以就需要管理端在修改表的时候,通知一下业务端是更新二级缓存,这样才能及时使用新值。 起初在想mybatis的sqlSes
wince 任务栏的时间没有及时同步更新
WINCE上面自己做的时间工具,设置SetLocalTime时间后,系统时间已经更新了,但是在系统的任务栏的时间是每一分钟自动刷新的,它没有同步更新,而是等几秒或者几十秒后刷新,现在想请问哈,有没有碰到过该问题的,有没有什么系统通知或者注册表之类来及时同步更新任务栏的时间显示(它只显示小时和分钟)。
openwrt的ddns总是没有及时更新
        我遇到的现象是:路由器重启后第一次拨号成功时ddns是可以更新成功的,但是后面如果重新拨号,IP地址发生了变化,ddns总是没有更新,查看日志发现是因为ddns没有检测到IP地址的变化,目前还没仔细研究具体的原因。       现在临时的解决办法是在/etc/ppp/ip-up.d和ip-down.d目录下强制执行一下ddns服务的start和stop# vi /etc/ppp/i...
Imageloader缓存问题 导致不能及时更新图片
ImageLoader加载图片,我的项目中由于几张背景图要经常更新,就用了一个固定的图片地址,但是当图片变化时, 由于缓存问题,不能及时显示出新图片,加上以下代码就可以解决啦! ImageLoader.getInstance().clearDiskCache();//清除磁盘缓存 ImageLoader.getInstance().clearMemoryCache();//清除内存缓
gulp 疑似缓存的问题,watch更新不及时
搜索了很多资料,gulp-cache 是主动存储,而不是程序运行的缓存。 虽然不可否认,很多插件都是自带缓存的。 13.3.1 上述还没测试--- 但这个问题,可能是watch 路径问题,不能加 ./ ,而是直接加路径名字。
mybatis中的缓存问题
关于mybatis基础我们前面几篇博客已经介绍了很多了,今天我们来说一个简单的问题,那就是mybatis中的缓存问题。mybatis本身对缓存提供了支持,但是如果我们没有进行任何配置,那么默认情况下系统只开启了一级缓存,一级缓存就是同一个SqlSession执行的相同查询是会进行缓存的,OK,那么今天我们就来看看这些缓存,并简单验证下。 系统默认开启了一级缓存 这个缓存...
mybatis缓存问题
目前系统正常使用,突然来个用户注册,可是账号太长,导致数据库没法保存,所以觉得把数据库表的字段改大点,问题解决。但是问题又来了,修改字段长度后系统没有重启,导致查出来的数据为字段没有修改长度之前的那个长度,比如说: 字段长度修改前,字段长度为varchar(16),用户账号是;8832226780@qq.com,注册失败, 字段修改后,字段长度改为varchar(32),用户账号是;88322
hibernate和mybatis的缓存问题
这类框架是如何保证缓存始终存在的?n比如当外部调用服务器应用程序时时,请求结束后,服务器的应用程序内存应该释放了,那怎么保证下次请求可以访问到数据库的缓存?
Mybatis入门--缓存问题
只要涉及持久化框架,必然少不了缓存机制。Mybatis的缓存分为一级缓存和二级缓存。一级缓存是存在于sqlSession中,而二级缓存范围更大,是可以被多个sqlSession所共用的。 一级缓存提升查询效率一个客户端,发送同样的查询请求,如果每次都去访问数据库,效率低下。在一个sqlSession的开启和关闭之间,会维护一个缓存对象。当查询的时候,如果在缓存中存在该数据,直接取出;如果不存在,访问
解决数据库及时更新的问题
在C#中,用SQL2000,对数据库产生及时的动态显示,即在Form1窗口点击添加,在Form2窗口中的Datagridview产生即时的显示,能举个符合题意的例子最好,谢谢!!!
及时更新或排列更新的发布订阅问题
我有A,B,C三台机子(SQL2000SERVER),没有设置域服务器,A机器上建立出版物,强制B,C机器订阅,采用的是及时更新或排列更新的事务型出版,现在在A机器上的更改可以及时传给B,C机器,但B,C机器上订阅的表却没法进行修改,更改时总报SA登录失败,请问是怎么会事?rn我看了很多相关的帖子,说是“启动代理的域用户账号必须具有读取发布-分发服务器\\ServerA\C$\Program Files\Microsoft SQL Server\MSSQL\repldata\unc\这个目录的权限”,机器不在域中,是否要将发布-分发服务器目录共享?
关于页面及时更新的问题
在自己机子上做了个服务器,然后在局域网上的另一台机子上测试。问题是我这边主页内容都改了,他那边看的还是缓存里的界面,没有改变,怎么样才能让他的机子一打开界面就是我服务器上的截面呢?不到缓存里提取。
favicon.ico 图标及时更新问题
首先看你 favicon.ico 图标文件引入路径是否正确<link type="image/x-icon" href="./favicon.ico" rel="icon">然后 看ico文件能否正常打开,这两个没问题的话,在地址栏直接输入你的域名 http://xxx.com/favicon.ico 注意 此刻可能还是 之前的ico图标 不要着急 刷新一下 试试 完美解决 清除程序缓存
菜单状态及时更新的问题
void CSnapSyncView::OnFileExport() rnrn g_bEnableExport = !g_bEnableExport;rn Sleep(3000);rnrnvoid CSnapSyncView::OnUpdateFileExport(CCmdUI* pCmdUI) rnrn pCmdUI->Enable(g_bEnableExport);rnrnrn我希望是rng_bEnableExport = !g_bEnableExport;rnOnUpdateFileExport();rnSleep(3000);rnrn事实上是rng_bEnableExport = !g_bEnableExport;rnSleep(3000);rnOnUpdateFileExport();rnrn怎么能实现我希望的功能?rnrn
Paradox数据库及时更新的问题!
我用Post(); 将修改后的数据写向数据库,但是好象程序没有立即把数据更新到数据库,因为我将机器突然断电后重起机器发现数据库没有更新,请问怎么才能使数据库能及时更新?谢谢!
hibernate session 及时更新问题
第一次提问,希望有人能帮忙解答.rn有一个B/S系统用hibernate做.有一个session A只做查询操作,另一个session B做插入操作.如果我先在session A中查询一系统对象.为了下次查询速度更快,我不做session A的清理.然后session B中新增几条记录,那么session A中如果查询出由session B新增的几条记录呢?
关于滚动条的及时更新问题
自绘控件的时候肯定免不了要带上滚动条的.但是现在有一个很明显的问题就是,当我拖动滚动条的时候,非得要等到鼠标弹起时才能移动窗体.rn我看过一些控件,应该是有方法来弥补这个不足的.不知道是什么方法.希望高手给点思路....
ADO.NET记录集问题!!及时更新
ADO.NET记录集问题!!及时更新rnado.net中的记录集不是面向连接的,数据更新后放在记录集中,和ADO不一样,但是在销售系统中,要求及时更新数据库中的数据,尤其是像存在多个销售点,怎样解决这个问题呢rn
mybatis操作多对多关系表更新缓存
有时候我们在对mybatis多对多关系表进行操作后,由于使用了Ehcache二级缓存,所以没有对数据库重新读取数据,导致了数据是之前的。对于这种情况,我们可以根据需要对于一些操作禁用掉二级缓存。 &amp;lt;select id=&quot;selectUserByRoleId&quot; parameterType=&quot;int&quot; resultType=&quot;User&quot; useCache=&quot;false&quot;&amp;gt; 所以在对数据表...
【Mybatis学习】Mybatis缓存
本文介绍了Mybatis框架中的缓存配置、效果以及二级缓存的开启、效果。
【Mybatis】——mybatis缓存
开篇 mybatis缓存特点和hibernate缓存特点是及其相像,本篇博客通过实践简单的了解一下mybatis的一级二级缓存。   一级 特点: 一级缓存默认开启 生命周期同sqlsession sqlsession间缓存不共享   sqlsession关闭或执行sqlsession.commit() 时一级缓存清空 二级 概念说明:和hibernate不同,mybati
Mybatis的缓存
My Batis 分为 1级缓存和 2级缓存 一级缓存是在 SqI Session 上的缓存, 二级缓存是在 SqlSessionFactory 上的缓存。 同 对象进行了两次获取 但是实际只有 SQL 被执行,其原因是代码 使用了同 SqlSession 对象获取数据。当 SqlSession 次通过 SQL 参数获取对 象后,它就会将其缓存起来,如果下次 SQL 参数都没有发生变化, 并且...
mybatis缓存。
先说结论: mybatis默认开启一级缓存。 mybatis默认是TRANSACTION_SERIALIZABLE,所以测试的时候,需要修改为TRANSACTION_READ_COMMITTED(2)级别. 同一个mapper下,如果执行了修改和删除,比如说id为1的数据。则该mapper下的缓存都会失效,包括缓存的id为2,3的也会失效。 同一session下的不同mapper,执行更新(改,删,
mybatis的缓存
Mybatis分为一级和二级缓存ØMybatis一级缓存为sqlSession级别的缓存 默认开启 相同的sqlsession对象 查询相同条件的结果时存在一级缓存只会查询一次,sqlSession关闭后缓存失效调用cleanCache后缓存被清除,执行过增删改后缓存会被清除package cn.easytop.lesson05.xml; public interface StudentMapp...
mybatis之缓存
1.com.dao(shopMapper) public interface ShopMapper { List&amp;lt;Shop&amp;gt; cache(); void delete(); } &amp;lt;mapper namespace=&quot;com.dao.ShopMapper&quot;&amp;gt; &amp;lt;!-- 开启二级缓存 --&amp;gt; &amp;lt;cache/&amp;gt; &amp;lt;select ...
Mybatis缓存
本套课程内容并非参考书式的简单罗列,而是结合项目实际,讲解项目中常用的知识。那些较偏且难于理解的内容在本课程中并未涉及。这样既能降低学员学习难度、增强学员学习的信心又能利用所学知识做出像样的项目,让学员对开发有一个整体认识,在此基础上添砖加瓦丰富其它知识内容
mybatis缓存
mybatis支持缓存,如果我们查找数据库中某一条记录时,先从缓存中获取,如果缓存中不存在该记录,则从数据库中获取,在放入到缓存中。该文档是关于mybatis使用一级或二级缓存的介绍
mybatis——缓存
在mybatis中,缓存的使用是一个十分重要的过程,在项目查询配置过程中,有着很重要的作用。缓存分为一级缓存和二级缓存,一级缓存是默认缓存的。缓存MyBatis 包含一个非常强大的查询缓存特性,它可以非常方便地配置和定制。 MyBatis 3中的缓存实现的很多改进都已经实现了,使得它更加强大而且易于配置。 默认情况下是没有开启缓存(二级缓存)的,除了局部的 session 缓存(一级缓存是默认开启
MyBatis之缓存
涉及到大量数据访问的问题,一般使用缓存是一个提高效率的方法。MyBatis中其实一直都默认存在着一级缓存,即每个SqlSession会话之内都开启了一级缓存,即执行相同的mapper文件内的语句(即执行相同的sql语句),并且传入的参数也相同,其中第一次执行则会从数据库底层获取数据并缓存,后面执行则不再从底层数据库获取,而是从缓存区直接获取。而一级缓存并不能满足我们所有需求,比如在不同SqlSes
Mybatis—— 缓存
1. 一级缓存 MyBatis 对缓存提供支持,俣是在没有配置的默认情况下,它只开启一级缓存,一级缓存只是相对于同一个 SqlSession 而言。所以在参数和 SQL 完全一样的情况下,我们使用同一个 SqlSession 对像调用同一个Mapper 的方法,往往只执行一次 SQL,因为使用 SqlSession 第一次查询后,MyBatis 会将其在缓存中,以后再查询的时候,如果没有声明...
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池