在.NET中使用Redis

本文介绍了一个使用C#连接Redis数据库并进行数据存取操作的例子。包括添加字符串到Redis列表、获取列表中的所有项、根据索引获取特定项、清空列表、存储复杂对象类型如自定义的UserInfo类实例及列表等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

dll文件




namespace RedisDemo
{
    public partial class RedisPage : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void btn_Click(object sender, EventArgs e)
        {
            RedisClient redis = new RedisClient("127.0.0.1",6379);
            //将字符串添加到Redis
            List<string> storeMembers = new List<string>() {"one","two","three"};
            storeMembers.ForEach(x=>redis.AddItemToList("additemtolist",x));
            //得到指定key的values集合
            Response.Write(redis.GetAllItemsFromList("additemtolist").Aggregate((current,a) => { return current += a + ","; }));
            //根据索引位置数据
            Response.Write("**********\n");
            var item = redis.GetItemFromList("additemtolist",1);
            Response.Write(item);
        }

        protected void btn2_Click(object sender, EventArgs e)
        {
            RedisClient redis = new RedisClient("127.0.0.1", 6379);
            var list = redis.Lists["additemtolist"];
            list.Clear();//清空
            //list.Remove("");//移除指定键值
            //list.RemoveAt(1);//指定索引
        }

        protected void btn3_Click(object sender, EventArgs e)
        {
            RedisClient redis = new RedisClient("127.0.0.1",6379);
            //redis.Set<UserInfo>("userinfo",new UserInfo() { UserName="张三",Age = 45});
            //UserInfo userinfo = redis.Get<UserInfo>("userinfo");
            //Response.Write(userinfo.UserName);
            var ser = new ObjectSerializer();
            bool result = redis.Set<byte[]>("userinfo2",ser.Serialize(new UserInfo() {UserName="张二", Age=12}));
            UserInfo usinfo2 = ser.Deserialize(redis.Get<byte[]>("userinfo2")) as UserInfo;
            Response.Write(usinfo2.UserName);
        }

        protected void btn4_Click(object sender, EventArgs e)
        {
            List<UserInfo> list = new List<UserInfo>()
            {
                new UserInfo{UserName="zzh",Age=14},
                new UserInfo{UserName="aaa",Age=18}
            };
            var ser = new ObjectSerializer();
            RedisClient redis = new RedisClient("127.0.0.1",6379);
            redis.Set<byte[]>("list",ser.Serialize(list));
            List<UserInfo> userinfoList = ser.Deserialize(redis.Get<byte[]>("list")) as List<UserInfo>;
            userinfoList.ForEach(i=> {
                literal.Text += "<p>"+i.UserName+"</p>";
            });
        }
    }
    [Serializable]
    public class UserInfo
    {
        public int Id { get; set; }
        public string UserName { get; set; }
        public int Age { get; set; }
    }
}

  

转载于:https://www.cnblogs.com/ZaraNet/p/9433884.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值