Add Set and UniqueQueue implementations #1
|
@ -132,6 +132,10 @@ func (queue *UniqueQueue) LHandle(h func([]byte) error) error {
|
|||
})
|
||||
}
|
||||
|
||||
func (queue *UniqueQueue) Has(data []byte) (bool, error) {
|
||||
return queue.SIsMember(uniqueQueueKey, data)
|
||||
}
|
||||
|
||||
func genSetKey(key []byte, value []byte) []byte {
|
||||
setKey := make([]byte, len(key)+1+len(value))
|
||||
copy(setKey[0:len(key)], key)
|
||||
|
|
|
@ -81,6 +81,14 @@ func TestUniqueQueue(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, 1, queue.Len())
|
||||
|
||||
has, err := queue.Has([]byte("test3"))
|
||||
assert.NoError(t, err)
|
||||
assert.True(t, has)
|
||||
|
||||
has, err = queue.Has([]byte("test4"))
|
||||
assert.NoError(t, err)
|
||||
assert.False(t, has)
|
||||
|
||||
err = queue.LPush([]byte("test4"))
|
||||
assert.NoError(t, err)
|
||||
|
||||
|
@ -94,6 +102,14 @@ func TestUniqueQueue(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, "test4", string(data))
|
||||
|
||||
has, err = queue.Has([]byte("test3"))
|
||||
assert.NoError(t, err)
|
||||
assert.False(t, has)
|
||||
|
||||
has, err = queue.Has([]byte("test4"))
|
||||
assert.NoError(t, err)
|
||||
assert.False(t, has)
|
||||
|
||||
key := []byte("additional-set")
|
||||
|
||||
// SAdd
|
||||
|
|
Loading…
Reference in New Issue
Block a user