module Database.Redis.General ( RedisReply(..) , keyExists , keyDelete , keyType , keys , keyRandom , select , toUTF8 , ping , unwrapReply ) where import System.IO import Database.Redis.Internal ------------------------------------------------------------------------------ -- EXISTS keyExists :: Handle -> String -> IO (Maybe RedisReply) keyExists h key = request h $ map toUTF8 ["EXISTS", key] -- EXISTS for ByteString input keyExistsB :: Handle -> ByteString -> IO (Maybe RedisReply) keyExistsB h key = request h [toUTF8 "EXISTS", key] ------------------------------------------------------------------------------ -- DEL -- FIXME: should handle multiple deletions keyDelete :: Handle -> String -> IO (Maybe RedisReply) keyDelete h key = request h $ map toUTF8 ["DEL", key] ------------------------------------------------------------------------------ -- TYPE keyType :: Handle -> String -> IO (Maybe RedisReply) keyType h key = request h $ map toUTF8 ["TYPE", key] ------------------------------------------------------------------------------ -- KEYS keys :: Handle -> String -> IO (Maybe RedisReply) keys h pattern = request h $ map toUTF8 ["KEYS", pattern] ------------------------------------------------------------------------------ -- RANDOMKEY keyRandom :: Handle -> IO (Maybe RedisReply) keyRandom h = request h $ map toUTF8 ["RANDOMKEY"] -- RENAME -- RENAMENX -- DBSIZE -- EXPIRE -- PERSIST -- TTL ------------------------------------------------------------------------------ -- SELECT select :: Handle -> Int -> IO (Maybe RedisReply) select h i = request h $ map toUTF8 ["SELECT", show i] -- MOVE -- FLUSHDB -- FLUSHALL ------------------------------------------------------------------------------ ping :: Handle -> IO (Maybe RedisReply) ping h = request h $ map toUTF8 ["PING"]