1818
1919namespace ServiceStack . Redis
2020{
21- public partial class RedisClient
22- : IRedisClient
23- {
24- public IHasNamed < IRedisHash > Hashes { get ; set ; }
25-
26- internal class RedisClientHashes
27- : IHasNamed < IRedisHash >
28- {
29- private readonly RedisClient client ;
30-
31- public RedisClientHashes ( RedisClient client )
32- {
33- this . client = client ;
34- }
35-
36- public IRedisHash this [ string hashId ]
37- {
38- get
39- {
40- return new RedisClientHash ( client , hashId ) ;
41- }
42- set
43- {
44- var hash = this [ hashId ] ;
45- hash . Clear ( ) ;
46- hash . CopyTo ( value . ToArray ( ) , 0 ) ;
47- }
48- }
49- }
50-
51- public bool SetEntryInHash ( string hashId , string key , string value )
52- {
53- return base . HSet ( hashId , key . ToUtf8Bytes ( ) , value . ToUtf8Bytes ( ) ) == Success ;
54- }
55-
56- public bool SetEntryInHashIfNotExists ( string hashId , string key , string value )
57- {
58- return base . HSetNX ( hashId , key . ToUtf8Bytes ( ) , value . ToUtf8Bytes ( ) ) == Success ;
59- }
60-
61- public void SetRangeInHash ( string hashId , IEnumerable < KeyValuePair < string , string > > keyValuePairs )
62- {
63- var keyValuePairsList = keyValuePairs . ToList ( ) ;
64- if ( keyValuePairsList . Count == 0 ) return ;
65-
66- var keys = new byte [ keyValuePairsList . Count ] [ ] ;
67- var values = new byte [ keyValuePairsList . Count ] [ ] ;
68-
69- for ( var i = 0 ; i < keyValuePairsList . Count ; i ++ )
70- {
71- var kvp = keyValuePairsList [ i ] ;
72- keys [ i ] = kvp . Key . ToUtf8Bytes ( ) ;
73- values [ i ] = kvp . Value . ToUtf8Bytes ( ) ;
74- }
75-
76- base . HMSet ( hashId , keys , values ) ;
77- }
78-
79- public long IncrementValueInHash ( string hashId , string key , int incrementBy )
21+ public partial class RedisClient
22+ : IRedisClient
23+ {
24+ public IHasNamed < IRedisHash > Hashes { get ; set ; }
25+
26+ internal class RedisClientHashes
27+ : IHasNamed < IRedisHash >
28+ {
29+ private readonly RedisClient client ;
30+
31+ public RedisClientHashes ( RedisClient client )
32+ {
33+ this . client = client ;
34+ }
35+
36+ public IRedisHash this [ string hashId ]
37+ {
38+ get
39+ {
40+ return new RedisClientHash ( client , hashId ) ;
41+ }
42+ set
43+ {
44+ var hash = this [ hashId ] ;
45+ hash . Clear ( ) ;
46+ hash . CopyTo ( value . ToArray ( ) , 0 ) ;
47+ }
48+ }
49+ }
50+
51+ public bool SetEntryInHash ( string hashId , string key , string value )
52+ {
53+ return base . HSet ( hashId , key . ToUtf8Bytes ( ) , value . ToUtf8Bytes ( ) ) == Success ;
54+ }
55+
56+ public bool SetEntryInHashIfNotExists ( string hashId , string key , string value )
57+ {
58+ return base . HSetNX ( hashId , key . ToUtf8Bytes ( ) , value . ToUtf8Bytes ( ) ) == Success ;
59+ }
60+
61+ public void SetRangeInHash ( string hashId , IEnumerable < KeyValuePair < string , string > > keyValuePairs )
62+ {
63+ var keyValuePairsList = keyValuePairs . ToList ( ) ;
64+ if ( keyValuePairsList . Count == 0 ) return ;
65+
66+ var keys = new byte [ keyValuePairsList . Count ] [ ] ;
67+ var values = new byte [ keyValuePairsList . Count ] [ ] ;
68+
69+ for ( var i = 0 ; i < keyValuePairsList . Count ; i ++ )
70+ {
71+ var kvp = keyValuePairsList [ i ] ;
72+ keys [ i ] = kvp . Key . ToUtf8Bytes ( ) ;
73+ values [ i ] = kvp . Value . ToUtf8Bytes ( ) ;
74+ }
75+
76+ base . HMSet ( hashId , keys , values ) ;
77+ }
78+
79+ public long IncrementValueInHash ( string hashId , string key , int incrementBy )
8080 {
8181 return base . HIncrby ( hashId , key . ToUtf8Bytes ( ) , incrementBy ) ;
8282 }
8383
84- public long IncrementValueInHash ( string hashId , string key , long incrementBy )
84+ public long IncrementValueInHash ( string hashId , string key , long incrementBy )
8585 {
8686 return base . HIncrby ( hashId , key . ToUtf8Bytes ( ) , incrementBy ) ;
8787 }
@@ -92,49 +92,49 @@ public double IncrementValueInHash(string hashId, string key, double incrementBy
9292 }
9393
9494 public string GetValueFromHash ( string hashId , string key )
95- {
96- return base . HGet ( hashId , key . ToUtf8Bytes ( ) ) . FromUtf8Bytes ( ) ;
97- }
98-
99- public bool HashContainsEntry ( string hashId , string key )
100- {
101- return base . HExists ( hashId , key . ToUtf8Bytes ( ) ) == Success ;
102- }
103-
104- public bool RemoveEntryFromHash ( string hashId , string key )
105- {
106- return base . HDel ( hashId , key . ToUtf8Bytes ( ) ) == Success ;
107- }
108-
109- public long GetHashCount ( string hashId )
110- {
111- return base . HLen ( hashId ) ;
112- }
113-
114- public List < string > GetHashKeys ( string hashId )
115- {
116- var multiDataList = base . HKeys ( hashId ) ;
117- return multiDataList . ToStringList ( ) ;
118- }
119-
120- public List < string > GetHashValues ( string hashId )
121- {
122- var multiDataList = base . HVals ( hashId ) ;
123- return multiDataList . ToStringList ( ) ;
124- }
125-
126- public Dictionary < string , string > GetAllEntriesFromHash ( string hashId )
127- {
128- var multiDataList = base . HGetAll ( hashId ) ;
95+ {
96+ return base . HGet ( hashId , key . ToUtf8Bytes ( ) ) . FromUtf8Bytes ( ) ;
97+ }
98+
99+ public bool HashContainsEntry ( string hashId , string key )
100+ {
101+ return base . HExists ( hashId , key . ToUtf8Bytes ( ) ) == Success ;
102+ }
103+
104+ public bool RemoveEntryFromHash ( string hashId , string key )
105+ {
106+ return base . HDel ( hashId , key . ToUtf8Bytes ( ) ) == Success ;
107+ }
108+
109+ public long GetHashCount ( string hashId )
110+ {
111+ return base . HLen ( hashId ) ;
112+ }
113+
114+ public List < string > GetHashKeys ( string hashId )
115+ {
116+ var multiDataList = base . HKeys ( hashId ) ;
117+ return multiDataList . ToStringList ( ) ;
118+ }
119+
120+ public List < string > GetHashValues ( string hashId )
121+ {
122+ var multiDataList = base . HVals ( hashId ) ;
123+ return multiDataList . ToStringList ( ) ;
124+ }
125+
126+ public Dictionary < string , string > GetAllEntriesFromHash ( string hashId )
127+ {
128+ var multiDataList = base . HGetAll ( hashId ) ;
129129 return multiDataList . ToStringDictionary ( ) ;
130- }
131-
132- public List < string > GetValuesFromHash ( string hashId , params string [ ] keys )
133- {
134- if ( keys . Length == 0 ) return new List < string > ( ) ;
135- var keyBytes = ConvertToBytes ( keys ) ;
136- var multiDataList = base . HMGet ( hashId , keyBytes ) ;
137- return multiDataList . ToStringList ( ) ;
138- }
139- }
130+ }
131+
132+ public List < string > GetValuesFromHash ( string hashId , params string [ ] keys )
133+ {
134+ if ( keys . Length == 0 ) return new List < string > ( ) ;
135+ var keyBytes = ConvertToBytes ( keys ) ;
136+ var multiDataList = base . HMGet ( hashId , keyBytes ) ;
137+ return multiDataList . ToStringList ( ) ;
138+ }
139+ }
140140}
0 commit comments