zoukankan      html  css  js  c++  java
  • 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!";
                    }

  • 相关阅读:
    js jquery 获取服务器控件的三种方法
    jquery.autocomplete.js用法及示例,小白进
    devexpress 经验笔记
    Powerdesigner逆向工程从sql server数据库生成pdm (转载)
    SQLServer的数据类型
    显示隐藏磁盘,显示联想一键恢复的隐藏磁盘分区
    做mapx、ArcEngine的二次开发出现“没有注册类别 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG)”
    我们无法创建新的分区 也找不到现有的分
    Windows无法安装到GPT分区形式磁盘,怎么办?
    oracle 空间数据库说明
  • 原文地址:https://www.cnblogs.com/wuxl360/p/5434465.html
Copyright © 2011-2022 走看看