Redis的五种数据类型

1、String:key-value 

redis命令不区分大小写,但是key区分的

redis中的数据都是字符串。

redis是单线程,(不适合存储比较大的数据)

 

使用incr  命令,如果key 不存在,会自动创建key 并自动+1.

 redis中所有的数据都是字符串。

 set key value 设置值

 get key 获取值

 incr key 加一

 decr key 减一

Redis的五种数据类型_第1张图片

 

2、Hash: key-field-value

       相当于一个key 对应一个map (map中又是key- value),

       应用于归类

 

       hset  key field value  设置值

       hget  key field       获取值

       hincrby key field num  设置增数量

Redis的五种数据类型_第2张图片

 

3、List

List是有顺序可重复(数据结构中的:双链表,队列)

可作为链表 ,从左添加元素  也可以从右添加元素。

    lpush list a b c d    (从左添加元素)

    rpush list 1 2 3 4    (从右边添加元素)

    lrange list 0 -1 (从0 到 -1 元素查看:也就表示查看所有)

    lpop list (从左边取,删除)

    rpop list  (从右边取,删除)

Redis的五种数据类型_第3张图片

 

4、Set

  Set无顺序,不能重复

  sadd set1 a b c d d (向set1中添加元素) 元素不重复

  smembers set1 (查询元素)

  srem set1 a (删除元素)

Redis的五种数据类型_第4张图片

 

5、SortedSet(zset)

       有顺序,不能重复

       适合做排行榜 排序需要一个分数属性

 

zadd zset1 9 a 8 c 10 d 1 e   (添加元素 zadd key score member )

(ZRANGE key start stop [WITHSCORES])(查看所有元素:zrange key  0  -1  withscores)

如果要查看分数,加上withscores.

zrange zset1 0 -1 (从小到大)

zrevrange zset1 0 -1 (从大到小)

zincrby zset2 score member (对元素member 增加 score)

 

127.0.0.1:6379> zadd zset1 8 a 4 b 5 c 1 d

(integer) 4

127.0.0.1:6379> zrange zset1 0 -1

1) "d"

2) "b"

3) "c"

4) "a"

127.0.0.1:6379> zadd zset1 9 a

(integer) 0

127.0.0.1:6379> zrange zset1 0 -1

1) "d"

2) "b"

3) "c"

4) "a"

127.0.0.1:6379> zrange zset1 0 -1 withscores

1) "d"

2) "1"

3) "b"

4) "4"

5) "c"

6) "5"

7) "a"

8) "9"

127.0.0.1:6379> zrevrange zset1 0 -1

1) "a"

2) "c"

3) "b"

4) "d"

127.0.0.1:6379> zincrby zset1 1 a

"10"

127.0.0.1:6379> zrevrange zset1 0 -1 withscores

1) "a"

2) "10"

3) "c"

4) "5"

5) "b"

6) "4"

7) "d"

8) "1"

 

key 命令

expire key second  (设置key的过期时间)

ttl key (查看剩余时间)(-2 表示不存在,-1 表示已被持久化,正数表示剩余的时间)

persist key (清除过期时间,也即是持久化 持久化成功体提示 1 不成功0)。

del key: 删除key 

EXISTS key

       若key存在,返回1,否则返回0。

select 0 表示:选择0号数据库。默认是0号数据库

 

 

你可能感兴趣的:(Redis)