66def bool_ok (response ):
77 return nativestr (response ) == 'OK'
88
9+ class BFInfo (object ):
10+ capacity = None
11+ size = None
12+ filterNum = None
13+ insertedNum = None
14+ expansionRate = None
15+
16+ def __init__ (self , args ):
17+ response = dict (zip (map (nativestr , args [::2 ]), args [1 ::2 ]))
18+ self .capacity = response ['Capacity' ]
19+ self .size = response ['Size' ]
20+ self .filterNum = response ['Number of filters' ]
21+ self .insertedNum = response ['Number of items inserted' ]
22+ self .expansionRate = response ['Expansion rate' ]
23+
24+ class CFInfo (object ):
25+ size = None
26+ bucketNum = None
27+ filterNum = None
28+ insertedNum = None
29+ deletedNum = None
30+ bucketSize = None
31+ expansionRate = None
32+ maxIteration = None
33+
34+ def __init__ (self , args ):
35+ response = dict (zip (map (nativestr , args [::2 ]), args [1 ::2 ]))
36+ self .size = response ['Size' ]
37+ self .bucketNum = response ['Number of buckets' ]
38+ self .filterNum = response ['Number of filters' ]
39+ self .insertedNum = response ['Number of items inserted' ]
40+ self .deletedNum = response ['Number of items deleted' ]
41+ self .bucketSize = response ['Bucket size' ]
42+ self .expansionRate = response ['Expansion rate' ]
43+ self .maxIteration = response ['Max iterations' ]
44+
945class CMSInfo (object ):
1046 width = None
1147 depth = None
@@ -63,6 +99,7 @@ class Client(Redis): #changed from StrictRedis
6399 BF_MEXISTS = 'BF.MEXISTS'
64100 BF_SCANDUMP = 'BF.SCANDUMP'
65101 BF_LOADCHUNK = 'BF.LOADCHUNK'
102+ BF_INFO = 'BF.INFO'
66103
67104 CF_RESERVE = 'CF.RESERVE'
68105 CF_ADD = 'CF.ADD'
@@ -74,6 +111,7 @@ class Client(Redis): #changed from StrictRedis
74111 CF_COUNT = 'CF.COUNT'
75112 CF_SCANDUMP = 'CF.SCANDUMP'
76113 CF_LOADDUMP = 'CF.LOADDUMP'
114+ CF_INFO = 'CF.INFO'
77115
78116 CMS_INITBYDIM = 'CMS.INITBYDIM'
79117 CMS_INITBYPROB = 'CMS.INITBYPROB'
@@ -105,6 +143,7 @@ def __init__(self, *args, **kwargs):
105143 #self.BF_MEXISTS : spaceHolder,
106144 #self.BF_SCANDUMP : spaceHolder,
107145 #self.BF_LOADCHUNK : spaceHolder,
146+ self .BF_INFO : BFInfo ,
108147
109148 self .CF_RESERVE : bool_ok ,
110149 #self.CF_ADD : spaceHolder,
@@ -116,6 +155,7 @@ def __init__(self, *args, **kwargs):
116155 #self.CF_COUNT : spaceHolder,
117156 #self.CF_SCANDUMP : spaceHolder,
118157 #self.CF_LOADDUMP : spaceHolder,
158+ self .CF_INFO : CFInfo ,
119159
120160
121161 self .CMS_INITBYDIM : bool_ok ,
@@ -276,6 +316,13 @@ def bfLoadChunk(self, key, iter, data):
276316
277317 return self .execute_command (self .BF_LOADCHUNK , * params )
278318
319+ def bfInfo (self , key ):
320+ """
321+ Returns capacity, size, number of filters, number of items inserted, and expansion rate.
322+ """
323+
324+ return self .execute_command (self .BF_INFO , key )
325+
279326
280327################## Cuckoo Filter Functions ######################
281328
@@ -381,6 +428,13 @@ def cfLoadChunk(self, key, iter, data):
381428
382429 return self .execute_command (self .CF_LOADDUMP , * params )
383430
431+ def cfInfo (self , key ):
432+ """
433+ Returns size, number of buckets, number of filter, number of items inserted, number of items deleted,
434+ bucket size, expansion rate, and max iteration.
435+ """
436+
437+ return self .execute_command (self .CF_INFO , key )
384438
385439################## Count-Min Sketch Functions ######################
386440
0 commit comments