Redis实战(七)
修改数据
C#语言修改Redis示例。
1、通过key修改单个value
using (var redisClient = RedisManager.GetClient())
{
var user = redisClient.GetTypedClient<User>();
var value = user.GetValue(txtChangeKey.Text);//首先先获取当前key的值
var changedUser = new User
{
Id = value.Id,
Name = txtChangeName.Text,
Job = new Job { Position = txtChangePosition.Text }
};//设置相应的新value值,并使其它数据与原来相统一
redisClient.Set(txtChangeKey.Text, changedUser);//修改value
value = user.GetValue(txtChangeKey.Text);//根据key获取最新的数据 var htmlStr = string.Empty;
htmlStr += "修改后的ID=" + value.Id + " 姓名:" + value.Name + " 所在部门:" + value.Job.Position;
lblPeople.Text = htmlStr;
lblShow.Text = "筛选后共有:1人!"; }
2、通过keys修改多个values
var dictionary = new Dictionary<string, User>();
using (var redisClient = RedisManager.GetClient())
{
var user = redisClient.GetTypedClient<User>();
var user1 = new User
{
Id = user.GetNextSequence(),//获取新的ID
Name = "小明",
Job = new Job { Position = "Python" }
};
var user2 = new User
{
Id = user.GetNextSequence(),
Name = "小红",
Job = new Job { Position = "Python" }
};
var userKeyList = user.GetAllKeys().Where(x => x.StartsWith("urn")).OrderBy(y => y).ToList();//只获取保存value的key
dictionary.Add(userKeyList[], user1);//第二个人
dictionary.Add(userKeyList[], user2);//第三个人
redisClient.SetAll(dictionary);//同时修改多个value var users = user.GetAll();
if (users.Count > )
{
var htmlStr = string.Empty;
foreach (var u in users)
{
htmlStr += "<li>ID=" + u.Id + " 姓名:" + u.Name + " 所在部门:" + u.Job.Position + "</li>";
}
lblPeople.Text = htmlStr;
}
lblShow.Text = "筛选后共有:" + users.Count.ToString() + "人!";
}
3、重命名key
using (var redisClient = RedisManager.GetClient())
{
redisClient.RenameKey(txtKey.Text, txtNewKey.Text); var user = redisClient.GetTypedClient<User>();
var userKeyList = user.GetAllKeys(); if (userKeyList.Count > )
{
lblPeople.Text = string.Empty;
var htmlStr = string.Empty;
foreach (var u in userKeyList)
{
htmlStr += "<li>key=" + u + "</li>";
}
lblPeople.Text = htmlStr;
}
lblShow.Text = "筛选后共有:" + userKeyList.Count.ToString() + " Keys!";
}
Redis实战(七)的更多相关文章
- C# Redis实战(七)
七.修改数据 在上一篇 C# Redis实战(六)中介绍了如何查询Redis中数据,本篇将介绍如何修改Redis中相关数据.大家都知道Redis是key-value型存储系统,所以应该可以修改key, ...
- Redis实战
大约一年多前,公司同事开始使用Redis,不清楚是配置,还是版本的问题,当时的Redis经常在使用一段时间后,连接爆满且不释放.印象中,Redis 2.4.8以下的版本由于设计上的主从库同步问题,就会 ...
- Redis实战阅读笔记——开始
Redis实战这本书,看完以后最大的不是redis本身的东西,而是作者面对实际问题的分析而给出的设计方案,可以看成NoSql设计的应用.个人从这方面收获很多,至于Redis本身的东西,这个就花一两个小 ...
- Redis实战阅读笔记——第一章
Redis 实战 中文版 的20-21页看的人郁闷死了,最后看英文版才明白意思,哎,我理解能力差成这样了 其中,图 1-12 有错误,草,这个是英文版的错--应该是group:programming
- redis实战(01)_redis安装
早就想对redis进行实战操作了,最近看了一些视频和参考书籍,总结总结一下,redis实战内容: 实战前先对redis做一个大概的认识: 现在开始安装redis了... redis的安装下载地址 ht ...
- C# Redis实战(二) [转]
二.Redis服务 在C# Redis实战(一)中我将所有文件拷贝到了D盘redis文件夹下,其中redis-server.exe即为其服务端程序,双击即开始运行,如图 ...
- (转)国内外三个不同领域巨头分享的Redis实战经验及使用场景
随着应用对高性能需求的增加,NoSQL逐渐在各大名企的系统架构中生根发芽.这里我们将为大家分享社交巨头新浪微博.传媒巨头Viacom及图片分享领域佼佼者Pinterest带来的Redis实践,首先我们 ...
- C# Redis实战
转自 :http://blog.csdn.net/qiujialongjjj/article/details/16945569 一.初步准备 Redis 是一个开源的使用ANSI C 语言编写.支持 ...
- Redis实战之Redis + Jedis
用Memcached,对于缓存对象大小有要求,单个对象不得大于1MB,且不支持复杂的数据类型,譬如SET 等.基于这些限制,有必要考虑Redis! 相关链接: Redis实战 Redis实战之Redi ...
随机推荐
- JS中的new操作符原理解析
var Person = function(name){ this.name = name; } Person.prototype.sayHello = function() { console.lo ...
- 最小生成树的边的概念问题!!! 最小生成树的计数 bzoj 1016
1016: [JSOI2008]最小生成树计数 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 5292 Solved: 2163[Submit][St ...
- HDU 6205 尺取
容易看出来,扩增一倍,找最长的区间就行了 /** @Date : 2017-09-11 12:43:11 * @FileName: 1012.cpp * @Platform: Windows * @A ...
- Python学习笔记(四十七)SMTP发送邮件
摘抄自:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001432005226 ...
- mysql 导出数据导致锁表
故事原由:今天同事小星做系统优化时问我一个sql问题,为什么查询慢,我看了一眼,发现用到了表A中的datetime类型列进行时间比较,建议他给datetime类型列加上索引. 可这是生产库,表A里面有 ...
- js和php的时间戳和时间的转化
js时间戳转化为时间 //时间戳转时间 function time(sj) { var now = new Date(sj*1000); var year =now.getFullYear(); va ...
- easyUI导出数据
easyUI导出数据模式 后台: //导出数据 public function index_doExport() { $search['diqu']=$_POST['diqu']; $search[' ...
- 判断是否引入jquery
主要使用typeof检验 <script language="javascript"> if(typeof jQuery == 'undefined'){ window ...
- JavaScript 使用闭包保护变量 防止污染
使用JavaScript编写插件或团队协作时,可使用闭包来解决此类以下两个问题: 1.定义过多全局变量,可能会造成全局变量命名冲突: 2.在插件内定义变量,需要保护该变量不被轻易修改: 优点:可以把局 ...
- python的sorted函数对字典按value进行排序
场景:词频统计时候,我们往往要对频率进行排序 sorted(iterable,key,reverse),sorted一共有iterable,key,reverse这三个参数.其中iterable表示可 ...