栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

.net core 操作redis list类型封装

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

.net core 操作redis list类型封装

using StackExchange.Redis;
using CoreRedis.Models;
using Microsoft.Extensions.Options;
using CoreRedis.Config;

namespace CoreRedis.RedisDataType
{
    public class RedisList
    {
        private static readonly object Locker = new object();

        private ConnectionMultiplexer connectionMultiplexer;


        IDatabase db = null;

        public RedisList(IOptionsMonitor optionsMonitor)
        {
            connectionMultiplexer = ConnectionMultiplexer.Connect(optionsMonitor.CurrentValue.Value);

            db = connectionMultiplexer.GetDatabase();
        }

        //lpush 左侧插入元素
        public async Task> LPUSH(string key,string value)
        {
            return db.ListLeftPushAsync(key, value,When.NotExists);
        }

        //右侧插入元素
        public async Task> RPUSH(string key,string value)
        {
            return db.ListRightPushAsync(key, value,When.NotExists);
        }

        //从左侧弹出元素
        public async Task> LPOP(string key)
        {
            return db.ListLeftPopAsync(key);
        }


        //从左侧弹出多个元素
        public async Task> LPOPMUL(string key,long count)
        {
            return db.ListLeftPopAsync(key,count);
        }

        //len 获取列表长度
        public async Task> LLen(string key)
        {
            return db.ListLengthAsync(key);
        }

        //lindex 获取指定索引上的数据
        public async Task> LIndex(string key,long index)
        {
            return  db.ListGetByIndexAsync(key,index);
        }

        //lrange 获取一个索引范围的数据
        public async Task> LRange(string key,long start,long end)
        {
            return db.ListRangeAsync(key,start,end);
        }

        //lset 为指定索引设置新值
        public async Task LSet(string key,string value,long index)
        {
            await db.ListSetByIndexAsync(key,index,value);
        }

        //ltrim 裁剪
        public async Task LTrim(string key,long start,long stop)
        {
            return db.ListTrimAsync(key, start, stop);
        }


        //lrem 删除元素,0表示全部删除,-1 表示从左侧开始删除等于value的count个,1表示右侧
        public async Task> LRem(string key,long count,string value)
        {
            return db.ListRemoveAsync(key,value,count);
        }
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/894364.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号