Redis--List、Set、Zset、Hash、Bitmaps、HyperLogLog、Geospatial

List

127.0.0.1:6379> LPUSH myls1 1
(integer) 1
127.0.0.1:6379> LPUSH myls1 2
(integer) 2
127.0.0.1:6379> LRANGE myls1 0 -1
1) "2"
2) "1"

127.0.0.1:6379> LPOP myls1
"2"
127.0.0.1:6379> LRANGE myls1 0 -1
1) "1"

127.0.0.1:6379> LPUSHX myls2 1 2 3
(integer) 0
127.0.0.1:6379> LRANGE myls2 0 -1
(empty array)

127.0.0.1:6379> LLEN myls1
(integer) 1

127.0.0.1:6379> LINSERT myls1 after 1 0
(integer) 10
127.0.0.1:6379> LRANGE myls1 0 -1
 1) "9"
 2) "8"
 3) "7"
 4) "6"
 5) "5"
 6) "4"
 7) "3"
 8) "2"
 9) "1"
10) "0"

127.0.0.1:6379> LINDEX myls1 3
"6"
127.0.0.1:6379> LINDEX myls1 0
"9"

127.0.0.1:6379> LSET myls1 0 99
OK
127.0.0.1:6379> LRANGE myls1 0 -1
 1) "99"
 2) "8"
 3) "7"
 4) "6"
 5) "5"
 6) "4"
 7) "3"
 8) "2"
 9) "1"
10) "0"

127.0.0.1:6379> LREM myls1 1 99
(integer) 1
127.0.0.1:6379> LRANGE myls1 0 -1
1) "8"
2) "7"
3) "6"
4) "5"
5) "4"
6) "3"
7) "2"
8) "1"
9) "0"

127.0.0.1:6379> LTRIM myls1 0 7
OK
127.0.0.1:6379> LRANGE myls1 0 -1
1) "8"
2) "7"
3) "6"
4) "5"
5) "4"
6) "3"
7) "2"
8) "1"

127.0.0.1:6379> BLPOP myls1 60
1) "myls1"
2) "8"
127.0.0.1:6379> BLPOP myls1 60
1) "myls1"
2) "7"
127.0.0.1:6379> BLPOP myls1 60
1) "myls1"
2) "6"

127.0.0.1:6379> BRPOPLPUSH myls1 myls2 60
"1"
127.0.0.1:6379> LRANGE myls1 0 -1
1) "9"
2) "8"
3) "7"
4) "6"
5) "5"
6) "4"
7) "3"
8) "2"
127.0.0.1:6379> LRANGE myls2 0 -1
1) "1"

Set

127.0.0.1:6379> SADD myset1 1 2 3 4 5 6 7
(integer) 7
127.0.0.1:6379> SMEMBERS myset1
1) "1"
2) "2"
3) "3"
4) "4"
5) "5"
6) "6"
7) "7"

127.0.0.1:6379> SCARD myset1
(integer) 7

127.0.0.1:6379> SRANDMEMBER myset1
"3"

127.0.0.1:6379> SRANDMEMBER myset1 3
1) "6"
2) "4"
3) "1"

127.0.0.1:6379> SISMEMBER myset1 11
(integer) 0
127.0.0.1:6379> SISMEMBER myset1 4
(integer) 1

127.0.0.1:6379> SREM myset1 1 2
(integer) 2
127.0.0.1:6379> SMEMBERS myset1
1) "3"
2) "4"
3) "5"
4) "6"
5) "7"

127.0.0.1:6379> SMEMBERS myset2
1) "0"
2) "1"
3) "2"
4) "3"
5) "4"
6) "8"
7) "9"
127.0.0.1:6379> SDIFF myset1 myset2
1) "5"
2) "6"
3) "7"

127.0.0.1:6379> SDIFFSTORE myset3 myset1 myset2
(integer) 3
127.0.0.1:6379> SMEMBERS myset3
1) "5"
2) "6"
3) "7"

127.0.0.1:6379> SINTER myset1 myset2
1) "3"
2) "4"

127.0.0.1:6379> SUNION myset1 myset2
 1) "0"
 2) "1"
 3) "2"
 4) "3"
 5) "4"
 6) "5"
 7) "6"
 8) "7"
 9) "8"
10) "9"

127.0.0.1:6379> SMOVE myset2 myset1 8
(integer) 1
127.0.0.1:6379> SMEMBERS myset1
1) "3"
2) "4"
3) "5"
4) "6"
5) "7"
6) "8"

127.0.0.1:6379> SPOP myset2
"1"
127.0.0.1:6379> SMEMBERS myset2
1) "0"
2) "2"
3) "3"
4) "4"
5) "9"

#sscan扫描myset1,从0开始,每次返回4个数量(不保证数量一定是4个)

127.0.0.1:6379> SSCAN myset1 0 count 4
1) "0"
2) 1) "3"
   2) "4"
   3) "5"
   4) "6"
   5) "7"
   6) "8"

Zset

127.0.0.1:6379> ZADD myzset1 10 zs 20 ls 30 ww
(integer) 3
127.0.0.1:6379> ZRANGE myzset1 0 -1
1) "zs"
2) "ls"
3) "ww"

127.0.0.1:6379> ZRANGE myzset1 0 -1 withscores
1) "zs"
2) "10"
3) "ls"
4) "20"
5) "ww"
6) "30"

127.0.0.1:6379> ZCARD myzset1
(integer) 3
127.0.0.1:6379> zcount myzset1 10 20
(integer) 2

127.0.0.1:6379> ZINCRBY myzset1 10 zs
"20"
127.0.0.1:6379> ZINCRBY myzset1 -10 zs
"10"

127.0.0.1:6379> zrange myzset1 0 -1
1) "a"
2) "b"
3) "c"
4) "d"
5) "e"
6) "zs"
7) "ls"
8) "ww"
127.0.0.1:6379> ZLEXCOUNT myzset1 [a [c
(integer) 3

127.0.0.1:6379> ZRANGEBYLEX myzset1 (a (d
1) "b"
2) "c"

127.0.0.1:6379> ZRANGEBYSCORE myzset1 (1 (30
1) "b"
2) "c"
3) "d"
4) "e"
5) "zs"
6) "ls"

127.0.0.1:6379> ZRANK myzset1 zs
(integer) 5
127.0.0.1:6379> ZRANK myzset1 ls
(integer) 6

127.0.0.1:6379> zrem myzset1 a b
(integer) 2

127.0.0.1:6379> ZREVRANGEBYSCORE myzset1 (50 (10
1) "ww"
2) "ls"

127.0.0.1:6379> ZSCORE myzset1 ls
"20"

Hash

127.0.0.1:6379> HSET myhash1 name zs age 18 gender male
(integer) 3
127.0.0.1:6379> hget myhash1 name
"zs"
127.0.0.1:6379> hget myhash1 age
"18"

127.0.0.1:6379> HGETALL myhash1
1) "name"
2) "zs"
3) "age"
4) "18"
5) "gender"
6) "male"

127.0.0.1:6379> HEXISTS myhash1 name
(integer) 1
127.0.0.1:6379> HEXISTS myhash1 height
(integer) 0

127.0.0.1:6379> HSETNX myhash1 height 160
(integer) 1
127.0.0.1:6379> HSETNX myhash1 name ls
(integer) 0
127.0.0.1:6379> HKEYS myhash1
1) "name"
2) "age"
3) "gender"
4) "height"
127.0.0.1:6379> HVALS myhash1
1) "zs"
2) "18"
3) "male"
4) "160"
127.0.0.1:6379> HLEN myhash1
(integer) 4

127.0.0.1:6379> HMGET myhash1 name age
1) "zs"
2) "18"
127.0.0.1:6379> HMSET myhash1 class 001 sid 111
OK

127.0.0.1:6379> HINCRBY myhash1 age -1
(integer) 17

127.0.0.1:6379> HDEL myhash1 sid
(integer) 1
127.0.0.1:6379> HSCAN myhash1 0 count 4
1) "0"
2)  1) "name"
    2) "zs"
    3) "age"
    4) "17"
    5) "gender"
    6) "male"
    7) "height"
    8) "160"
    9) "class"
   10) "001"

Bitmaps

将1变为3

127.0.0.1:6379> SET mybit1 1234567890
OK
127.0.0.1:6379> SETBIT mybit1 6 1
(integer) 0
127.0.0.1:6379> GET mybit1
"3234567890"

统计zhansan一周几次没来上课,1为来了,0为没来

setbit zhansan 第x天 比特值

127.0.0.1:6379> setbit zhansan 0 1
(integer) 0
127.0.0.1:6379> setbit zhansan 2 1
(integer) 0
127.0.0.1:6379> setbit zhansan 3 1
(integer) 0
127.0.0.1:6379> setbit zhansan 4 1
(integer) 0

最后统计7天内比特值为1的数量
127.0.0.1:6379> bitcount zhansan 0 7 bit

(integer) 4

tmp    00010000

tmp2  00111000

and(交集) 、 or(并集) 、 not(非) 、 xor(异或)

127.0.0.1:6379> bitop and tmp3 tmp tmp2
(integer) 1
127.0.0.1:6379> getbit tmp3 0
(integer) 0
127.0.0.1:6379> getbit tmp3 1
(integer) 0
127.0.0.1:6379> getbit tmp3 2
(integer) 0
127.0.0.1:6379> getbit tmp3 3
(integer) 0
127.0.0.1:6379> getbit tmp3 4
(integer) 1
127.0.0.1:6379> getbit tmp3 5
(integer) 0
127.0.0.1:6379> getbit tmp3 6
(integer) 0
127.0.0.1:6379> getbit tmp3 7
(integer) 0

HyperLogLog

127.0.0.1:6379> PFADD myhypher1 a b c d e f
(integer) 1
127.0.0.1:6379> PFADD myhypher2 1 3 5 7 9
(integer) 1
127.0.0.1:6379> PFCOUNT myhypher1
(integer) 6
127.0.0.1:6379> PFCOUNT myhypher2
(integer) 5

127.0.0.1:6379> PFMERGE myhypher1 myhypher1 myhypher2
OK
127.0.0.1:6379> PFCOUNT myhypher1
(integer) 11

Geospatial

127.0.0.1:6379> GEOADD beijing 121.47 31.23 shanghai
(integer) 1
127.0.0.1:6379> GEOADD china:city 121.47 31.23 shanghai
(integer) 1
127.0.0.1:6379> GEOADD china:city 106.50 29.53 chongqing 116.38 39.90 beijing 114.05 22.52 shenzhen
(integer) 3


127.0.0.1:6379> GEOPOS china:city shanghai
1) 1) "121.47000163793563843"
   2) "31.22999903975783553"


127.0.0.1:6379> GEOPOS china:city beijing chongqing km
1) 1) "116.38000041246414185"
   2) "39.90000009167092543"
2) 1) "106.49999767541885376"
   2) "29.52999957900659211"
3) (nil)

127.0.0.1:6379> GEORADIUS china:city 110 30 100 km
(empty array)
127.0.0.1:6379> GEORADIUS china:city 110 30 1000 km
1) "chongqing"
2) "shenzhen"

你可能感兴趣的:(redis,哈希算法,数据库)