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 + "&nbsp;&nbsp;姓名:" + value.Name + "&nbsp;&nbsp;所在部门:" + 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[1], user1);//第二个人
                dictionary.Add(userKeyList[2], user2);//第三个人
                redisClient.SetAll(dictionary);//同时修改多个value

                var users = user.GetAll();
                if (users.Count > 0)
                {
                    var htmlStr = string.Empty;
                    foreach (var u in users)
                    {
                        htmlStr += "<li>ID=" + u.Id + "&nbsp;&nbsp;姓名:" + u.Name + "&nbsp;&nbsp;所在部门:" + 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 > 0)
                    {
                        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!";
                }
时间: 2024-07-31 13:38:07

Redis实战(七)的相关文章

C# Redis实战(七)

七.修改数据 在上一篇 C# Redis实战(六)中介绍了如何查询Redis中数据,本篇将介绍如何修改Redis中相关数据.大家都知道Redis是key-value型存储系统,所以应该可以修改key,也可以根据key来修改value.接下来将是详细的C#语言修改Redis示例. 1.通过key修改单个value using (var redisClient = RedisManager.GetClient()) { var user = redisClient.GetTypedClient<Us

System center 2012 R2 实战七、SCOM2012R2监控Red hat Linux5.7

1    准备工具 u  putty_V0.63.0.0.43510830.exe ------>用于连接到Linux服务器 u  Winscp  ------>用于将windows与 Linux服务器文件互传 2    操作步骤 复制代理至Linux服务器 在SCOM安装光盘中,找到Linux服务器代理 打开Wincap工具,将用于Linux服务器的SCOM代理,复制到Linux服务器根目录下 1            域名解析配置 u  修改Linux服务器主机名称+DNS后缀 u  去D

Python爬虫实战七之计算大学本学期绩点

大家好,本次为大家带来的项目是计算大学本学期绩点.首先说明的是,博主来自山东大学,有属于个人的学生成绩管理系统,需要学号密码才可以登录,不过可能广大读者没有这个学号密码,不能实际进行操作,所以最主要的还是获取它的原理.最主要的是了解cookie的相关操作. 本篇目标 1.模拟登录学生成绩管理系统 2.抓取本学期成绩界面 3.计算打印本学期成绩 1.URL的获取 恩,博主来自山东大学~ 先贴一个URL,让大家知道我们学校学生信息系统的网站构架,主页是 http://jwxt.sdu.edu.cn:

C# Redis实战(三)

三.程序配置 在C# Redis实战(二)中我们安装好了Redis的系统服务,此时Redis服务已经运行. 现在我们需要让我们的程序能正确读取到Redis服务地址等一系列的配置信息,首先,需要在Web.config文件中添加如下信息: [html] view plain copy <?xml version="1.0" encoding="utf-8"?> <!-- 有关如何配置 ASP.NET 应用程序的详细信息,请访问 http://go.mi

C# Redis实战(五)

五.删除数据 在C# Redis实战(四)中讲述了如何在Redis中写入key-value型数据,本篇将讲述如何删除Redis中数据. 1.void Delete(T entity);删除函数的运用 [csharp] view plain copy using (var redisClient = RedisManager.GetClient()) { var user = redisClient.GetTypedClient<User>(); var newUser = new User {

C# Redis实战(四)

四.写入数据 在C# Redis实战(三)中我们已经配置好了web.config程序,并且能通过C#代码来读取和管理以上配置信息. 接下来,就可以进行Redis的数据写入了.Redis中可以用Store和StoreAll分别保存单条和多条数据,C#中具体代码如下: 1.保存多条数据 [csharp] view plain copy protected void btnOpenDB_Click(object sender, EventArgs e) { //System.Diagnostics.P

Android切近实战(七)

边看世界杯,边写博客.记得小时候,去山上玩,翻了两座山,到了一个叫克劳的地方.那里每到六月份,桃子,杏多的很,有时候你坐在树上吃一下午都不会有人来,自然了,那里也就人烟稀少.我当时渴急了,在玉米地边上的牛踩出的蹄窝里喝了一口水,那水真是甘甜哪,忽然觉得脚底下什么在动,抬脚一看,一只螃蟹被我踩到了泥土中.那时候吃野枣,自制枪打野鸡,用套套野兔,在河里捉螃蟹,钓鱼,在洪水中游泳,上山挖药,在山上烤红薯,烤玉米,到了冬天,可以点荒,一盒火柴去见识燎原,这都是经常的事.不知道现在我再去那地方还能不能可以

C# Redis实战(二)

二.Redis服务 在C# Redis实战(一)中我将所有文件拷贝到了D盘redis文件夹下,其中redis-server.exe即为其服务端程序,双击即开始运行,如图 可以将此服务设置为windows系统服务,下载Redis服务安装软件,安装即可. 安装完成在服务中找到此服务,将其设置为自动延迟启动即可. 再回到redis文件夹下,找到redis-cli.exe文件,它就是Redis客户端程序.打开,输入:set qiujialong 123 即在Redis中插入了一条key为qiujialo

C# Redis实战(六)

六.查询数据 在C# Redis实战(五)中介绍了如何删除Redis中数据,本篇将继续介绍Redis中查询的写法. 1.使用Linq匹配关键字查询 [csharp] view plain copy using (var redisClient = RedisManager.GetClient()) { var user = redisClient.GetTypedClient<User>(); var userList = user.GetAll().Where(x => x.Job.P