hlrdb-core 0.1.3.0 → 0.1.4.0
raw patch · 3 files changed
+13/−4 lines, 3 filesdep ~hedisdep ~lensPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: hedis, lens
API changes (from Hackage documentation)
+ HLRDB.Core: srandmemberN :: MonadRedis m => RedisSet a b -> Integer -> a -> m [b]
+ HLRDB.Structures.Set: srandmemberN :: MonadRedis m => RedisSet a b -> Integer -> a -> m [b]
Files
- hlrdb-core.cabal +3/−3
- src/HLRDB/Core.hs +1/−0
- src/HLRDB/Structures/Set.hs +9/−1
hlrdb-core.cabal view
@@ -1,5 +1,5 @@ name: hlrdb-core-version: 0.1.3.0+version: 0.1.4.0 synopsis: High-level Redis Database Core API description: A library for type-driven interaction with Redis license: MIT@@ -31,8 +31,8 @@ build-depends: base >= 4.9 && < 5.0 , bytestring ^>= 0.10.8.2 , hashable (>= 1.2.6.1 && < 1.2.7.0) || ^>= 1.2.7.0- , hedis (>= 0.10.1 && <= 0.11.0) || ^>= 0.11.0- , lens (>= 4.16 && <= 4.17) || ^>= 4.17+ , hedis (>= 0.10.1 && <= 0.12.4) || ^>= 0.12.4+ , lens (>= 4.16 && <= 4.17.1) || ^>= 4.17.1 , mtl ^>= 2.2.2 , profunctors (>= 5.2.2 && <= 5.3) || ^>= 5.3 , random ^>= 1.1
src/HLRDB/Core.hs view
@@ -45,6 +45,7 @@ , srem , scard , srandmember+ , srandmemberN , sscan -- * SSet
src/HLRDB/Structures/Set.hs view
@@ -43,12 +43,20 @@ . Redis.scard . primKey p --- | Retrieve a random element from a set+-- | Retrieve a random element from a set. The underlying Redis primitive uses a poor but efficient distribution, biased by the underlying hash bucket allocation. srandmember :: MonadRedis m => RedisSet a b -> a -> m (Maybe b) srandmember p@(RSet (E _ _ d)) = (fmap . fmap) (d . pure) . unwrap . Redis.srandmember+ . primKey p++-- | Retrieve up to N unique random elements, limited by the cardinality of the set.+srandmemberN :: MonadRedis m => RedisSet a b -> Integer -> a -> m [ b ]+srandmemberN p@(RSet (E _ _ d)) n =+ (fmap . fmap) (d . pure)+ . unwrap+ . flip Redis.srandmemberN n . primKey p -- | Use a cursor to iterate a collection