zoukankan      html  css  js  c++  java
  • Redis封装之Hash

    RedisHashService:

        /// <summary>
        /// Hash:类似dictionary,通过索引快速定位到指定元素的,耗时均等,跟string的区别在于不用反序列化,直接修改某个字段
        /// Hash的话,一个hashid-{key:value;key:value;key:value;}
        /// 可以一次性查找实体,也可以单个,还可以单个修改
        /// </summary>
        public class RedisHashService : RedisBase
        {
            #region 添加
            /// <summary>
            /// 向hashid集合中添加key/value
            /// </summary>       
            public bool SetEntryInHash(string hashid, string key, string value)
            {
                return RedisBase.iClient.SetEntryInHash(hashid, key, value);
            }
            /// <summary>
            /// 如果hashid集合中存在key/value则不添加返回false,
            /// 如果不存在在添加key/value,返回true
            /// </summary>
            public bool SetEntryInHashIfNotExists(string hashid, string key, string value)
            {
                return RedisBase.iClient.SetEntryInHashIfNotExists(hashid, key, value);
            }
            /// <summary>
            /// 存储对象T t到hash集合中
            /// </summary>
            public void StoreAsHash<T>(T t)
            {
                RedisBase.iClient.StoreAsHash<T>(t);
            }
            #endregion
    
            #region 获取
            /// <summary>
            /// 获取对象T中ID为id的数据。
            /// </summary>
            public T GetFromHash<T>(object id)
            {
                return RedisBase.iClient.GetFromHash<T>(id);
            }
            /// <summary>
            /// 获取所有hashid数据集的key/value数据集合
            /// </summary>
            public Dictionary<string, string> GetAllEntriesFromHash(string hashid)
            {
                return RedisBase.iClient.GetAllEntriesFromHash(hashid);
            }
            /// <summary>
            /// 获取hashid数据集中的数据总数
            /// </summary>
            public long GetHashCount(string hashid)
            {
                return RedisBase.iClient.GetHashCount(hashid);
            }
            /// <summary>
            /// 获取hashid数据集中所有key的集合
            /// </summary>
            public List<string> GetHashKeys(string hashid)
            {
                return RedisBase.iClient.GetHashKeys(hashid);
            }
            /// <summary>
            /// 获取hashid数据集中的所有value集合
            /// </summary>
            public List<string> GetHashValues(string hashid)
            {
                return RedisBase.iClient.GetHashValues(hashid);
            }
            /// <summary>
            /// 获取hashid数据集中,key的value数据
            /// </summary>
            public string GetValueFromHash(string hashid, string key)
            {
                return RedisBase.iClient.GetValueFromHash(hashid, key);
            }
            /// <summary>
            /// 获取hashid数据集中,多个keys的value集合
            /// </summary>
            public List<string> GetValuesFromHash(string hashid, string[] keys)
            {
                return RedisBase.iClient.GetValuesFromHash(hashid, keys);
            }
            #endregion
    
            #region 删除
            /// <summary>
            /// 删除hashid数据集中的key数据
            /// </summary>
            public bool RemoveEntryFromHash(string hashid, string key)
            {
                return RedisBase.iClient.RemoveEntryFromHash(hashid, key);
            }
            #endregion
    
            #region 其它
            /// <summary>
            /// 判断hashid数据集中是否存在key的数据
            /// </summary>
            public bool HashContainsEntry(string hashid, string key)
            {
                return RedisBase.iClient.HashContainsEntry(hashid, key);
            }
            /// <summary>
            /// 给hashid数据集key的value加countby,返回相加后的数据
            /// </summary>
            public double IncrementValueInHash(string hashid, string key, double countBy)
            {
                return RedisBase.iClient.IncrementValueInHash(hashid, key, countBy);
            }
            #endregion
        }
    

      

  • 相关阅读:
    LR和SVM等线性模型比较
    博客内容和格式整理想法
    matlab安装matconvnet出错总结
    《java 核心技术一》第二章java程序设计环境
    《java 核心技术一》第一章 程序设计概论
    java eclipse 程序没错,运行结果显示无法加载主类的解决方法
    《贾平凹--朋友圈子就是你人生的世界》读后感
    java try-catch-finally输出异常
    暑假计划
    java 登录注册小程序
  • 原文地址:https://www.cnblogs.com/marshhu/p/6765073.html
Copyright © 2011-2022 走看看