module Database.Redis.Set
( setAdd, setAddB
, setRemove, setRemoveB
, setPop
, setMove
, setCardinality
, setIsMember, setIsMemberB
, setIntersect
, setIntersectStore
, setUnion
, setUnionStore
, setDiff
, setDiffStore
, setMembers, setMembersB
, setRandMember, setRandMemberB
) where
import System.IO
import Database.Redis.Internal
setAdd :: Handle
-> String
-> String
-> IO (Maybe RedisReply)
setAdd h key value = request h $ map toUTF8 ["SADD", key, value]
setAddB :: Handle
-> ByteString
-> ByteString
-> IO (Maybe RedisReply)
setAddB h key value = request h [toUTF8 "SADD", key, value]
setRemove :: Handle
-> String
-> String
-> IO (Maybe RedisReply)
setRemove h key value = request h $ map toUTF8 ["SREM", key, value]
setRemoveB :: Handle
-> ByteString
-> ByteString
-> IO (Maybe RedisReply)
setRemoveB h key value = request h [toUTF8 "SREM", key, value]
setPop :: Handle
-> String
-> IO (Maybe RedisReply)
setPop h key = request h $ map toUTF8 ["SPOP", key]
setMove :: Handle
-> String
-> String
-> String
-> IO (Maybe RedisReply)
setMove h s d m = request h $ map toUTF8 ["SMOVE", s, d, m]
setCardinality :: Handle
-> String
-> IO (Maybe RedisReply)
setCardinality h key = request h $ map toUTF8 ["SCARD", key]
setIsMember :: Handle
-> String
-> String
-> IO (Maybe RedisReply)
setIsMember h key value = request h $ map toUTF8 ["SISMEMBER", key, value]
setIsMemberB :: Handle
-> ByteString
-> ByteString
-> IO (Maybe RedisReply)
setIsMemberB h key value = request h [toUTF8 "SISMEMBER", key, value]
setIntersect :: Handle
-> [String]
-> IO (Maybe RedisReply)
setIntersect h keys = request h $ map toUTF8 $ "SINTER":keys
setIntersectStore :: Handle
-> String
-> [String]
-> IO (Maybe RedisReply)
setIntersectStore h dest keys = request h $ map toUTF8 $ "SINTER":dest:keys
setUnion :: Handle
-> [String]
-> IO (Maybe RedisReply)
setUnion h keys = request h $ map toUTF8 $ "SUNION":keys
setUnionStore :: Handle
-> String
-> [String]
-> IO (Maybe RedisReply)
setUnionStore h dest keys = request h $ map toUTF8 $ "SUNIONSTORE":dest:keys
setDiff :: Handle
-> [String]
-> IO (Maybe RedisReply)
setDiff h keys = request h $ map toUTF8 $ "SDIFF":keys
setDiffStore :: Handle
-> String
-> [String]
-> IO (Maybe RedisReply)
setDiffStore h dest keys = request h $ map toUTF8 $ "SDIFFSTORE":dest:keys
setMembers :: Handle
-> String
-> IO (Maybe RedisReply)
setMembers h key = request h $ map toUTF8 ["SMEMBERS", key]
setMembersB :: Handle
-> ByteString
-> IO (Maybe RedisReply)
setMembersB h key = request h [toUTF8 "SMEMBERS", key]
setRandMember :: Handle
-> String
-> IO (Maybe RedisReply)
setRandMember h key = request h $ map toUTF8 ["SRANDMEMBER", key]
setRandMemberB :: Handle
-> ByteString
-> IO (Maybe RedisReply)
setRandMemberB h key = request h [toUTF8 "SRANDMEMBER", key]