Redis数据类型及操作命令

数据类型都针对键值对中的【值】进行定义的。

1.string类型(字符串类型)

  • get、set、setnx、incr、incrby、decr、decrby

  • incr、incrby、decr、decrby:只能针对整数类型的数据进行使用。

  • incr命令,它是原子操作,用来生成数据库表的自增主键,是非常安全且高效。

//以下代码不是一个原子性操作,就可能存在线程安全问题。 int i = 10; i++ ; System.out.println(i);

  • incr命令的使用场景:分布式数据库中订单ID的生成。

2.hash类型(散列类型)

  • hset、hget、hdel、hmget、hmset
  • hash类型和string类型区别
    • hash类型适合于增删改操作。
    • string类型适合于查询操作。string类型存储对象,需要进行对象转换为json串进行存储。

3.list类型(队列类型)

  • 适合于只对list列表两端进行操作的场景。

  • list类型存储的数据特点:有序可重复(指的是插入顺序,而不是自然排序顺序)。

  • lpush、lpop、rpush、rpop、lrange

  • 可以用来作为消息队列去使用

  • 可以用来实现商品评论表

key的设计很重要 1、使用谁作为key。使用谁查询方便 2、key的定义,一定要有意义。 3、key的定义举例: item:1 {id:1,name:'zhangsan'} item:pl:1 {} {} {}

4.set类型(集合类型)

  • set类型存储的数据特点:无序不重复

  • sadd 、srem、smembers

  • 可以进行多集合操作:差集操作、交集操作、并集操作

    • sdiff、sinter、sunion

5.zset类型(有序集合类型、sortedset)

  • zset类型存储的数据特点:不重复、有序
  • 底层还是一个set集合,但是该集合中给每个member设置一个score,通过score进行排序。
  • zadd、zrem、zrange、zscore
  • 使用场景:销售排行榜
    • 销量作为分数
    • 销售人员或者商品作为member
原文地址:https://www.cnblogs.com/Adoni/p/12876192.html