redis常用数据操作

编程

  • String(字符串)

    redis.incr(key) 自加1,可设置步长(计数:点赞,视频播放量,每播放一次就+1

    redis.set(key,1,"EX 60","NX"); 设计过期时间( 接口防刷:验证码登录, )

    append 追加字符

    	SET key value                   设置key=value

    GET key 或者键key对应的值

    GETRANGE key start end 得到字符串的子字符串存放在一个键

    GETSET key value 设置键的字符串值,并返回旧值

    GETBIT key offset 返回存储在键位值的字符串值的偏移

    MGET key1 [key2..] 得到所有的给定键的值

    SETBIT key offset value 设置或清除该位在存储在键的字符串值偏移

    SETEX key seconds value 键到期时设置值

    SETNX key value 设置键的值,只有当该键不存在

    SETRANGE key offset value 覆盖字符串的一部分从指定键的偏移

    STRLEN key 得到存储在键的值的长度

    MSET key value [key value...] 设置多个键和多个值

    MSETNX key value [key value...] 设置多个键多个值,只有在当没有按键的存在时

    PSETEX key milliseconds value 设置键的毫秒值和到期时间

    INCR key 增加键的整数值一次

    INCRBY key increment 由给定的数量递增键的整数值

    INCRBYFLOAT key increment 由给定的数量递增键的浮点值

    DECR key 递减键一次的整数值

    DECRBY key decrement 由给定数目递减键的整数值

    APPEND key value 追加值到一个键

  • List(列表)

    应用场景

            Redis list的应用场景非常多,也是Redis最重要的数据结构之一,比如twitter的关注列表、粉丝列表等都可以用Redis的list结构来实现,再比如有的应用使用Redis的list类型实现一个简单的轻量级消息队列,生产者lpush,消费者lpop/brpop。

  • Hash(字典)

    应用场景

            假设有多个用户及对应的用户信息,可以用来存储以用户ID为key,将用户信息序列化为比如json格式做为value进行保存。

     

  • Set(集合)

    使用场景

            Redis set对外提供的功能与list类似是一个列表的功能,特殊之处在于set是可以自动排重的,当你需要存储一个列表数据,又不希望出现重复数据时,set是一个很好的选择,并且set提供了判断某个成员是否在一个set集合内的重要接口,这个也是list所不能提供的。

            又或者在微博应用中,每个用户关注的人存在一个集合中,就很容易实现求两个人的共同好友功能。

     

  • Sorted Set(有序集合)(zset)

    使用场景

            Redis sorted set的使用场景与set类似,区别是set不是自动有序的,而sorted set可以通过用户额外提供一个优先级(score)的参数来为成员排序,并且是插入有序的,即自动排序。当你需要一个有序的并且不重复的集合列表,那么可以选择sorted set数据结构,比如twitter 的public timeline可以以发表时间作为score来存储,这样获取时就是自动按时间排好序的。

            又比如用户的积分排行榜需求就可以通过有序集合实现。还有上面介绍的使用List实现轻量级的消息队列,其实也可以通过Sorted Set实现有优先级或按权重的队列。

原文链接:https://blog.csdn.net/qq_39772504/java/article/details/89879041

Redis中3种特殊的数据类型

  • Geo

在Redis3.2版本提供,支持存储地理位置信息用来实现诸如附近位置、摇一摇这类依赖于地理位置信息的功能.geo的数据类型为zset.

  • Bitmap

Bitmap就是通过一个bit位来表示某个元素对应的值或者状态

其中的 key 就是对应元素本身,实际上底层也是通过对字符串的操作来实现

  • HyperLogLog

这个结构可以非常省内存的去统计各种计数,比如注册 IP 数、每日访问 IP 数、页面实时UV、在线用户数等

但是它也有局限性,就是只能统计数量,而没办法去知道具体的内容是什么

以上是 redis常用数据操作 的全部内容, 来源链接: utcz.com/z/515569.html

回到顶部