zoukankan      html  css  js  c++  java
  • redis的五种数据类型

    Redis-五种数据类型

    对于Redis 来说,他只能存储五种基本数据类型

    在之前的版本中都是String,Hash,List,SortedSet(zSet),Map

    而现在的新版本中String,Hash,List,SortedSet(zSet),Set

    一、字符串String -----String Key-Value

      字符串是Redis中最常用的类型,是一个由字节组成的序列,他在Redis中是二进制安全的

    这意味着该类型可以接受任何格式的数据。

    Value最多可以容纳的数据长度为512MB

    set key value

    往key 中存入一个值(value)

    获取键为key的值

      注意:redis中的Key和Value时区分大小写,命令不区分大小写,redis是单线程不适合储存大容量的数据

    自增的value是可以转成数字的

    二、散列Hash------key-filed-value

      相当于是一个key中存在多个map.Redis中的散列可以看成具有String key和String value的map

    容器,可以将多个key-value存储到一个key钟。每一个Hash可以存储4294967295个键值对。

    三、集合Set

      Redis的集合是无序不可重复的,此处的无序是数据不能重复。和列表一样,在执行插入和删除

    以及判断是否存在某元素时,效率是很高的。集合最大的优势在于可以进行交集并集,差集操作。

    Set可包含的最大元素数量是4294967295.

      应用场景:1.利用交集球共同好友。2.利用唯一性,可以统计反问网站的所有独立Ip。

    3.好友推荐的时候根据tag求交集,大于某个threshold(临界值)就可以推荐。

    四、列表List

      Redis的列表允许用户从序列的两端推入或者淡出元素,列表有多个字符串值组成的有序可重复的序列,

    是链表结构,所以向列表两端添加元素的时间复杂度为0(1),获取越接近两端的元素速度就越

    快。这意味着即使是一个有几千万个元素的列表,获取头部活尾部的10条记录也是极快的。List中可以

    包含最大的元素数量是4294967295.

    五、SortedSet(zSet)

      有顺序,不能重复!!此处的不能重复是索引为唯一的,数据却可以重复。和Set很像

    都是字符串的集合,都不允许重复的成员出现在一个Set中。他们之间差别在于有序集合中每一个成员都会有一个

    分数与之关联,Redis正是通过分数来为集合中的成员进行从小到大的排序。尽管有序集合中的

    成员必须是唯一的,但是分数却可以重复。

      应用场景:可以用于一个大型的在线游戏的几分排行榜,每当玩家的分数发生变化是,可以执行zadd

    更新玩家的分数,此后在通过zrange获取几分top ten的用户信息

  • 相关阅读:
    「UVA12293」 Box Game
    「CF803C」 Maximal GCD
    「CF525D」Arthur and Walls
    「CF442C」 Artem and Array
    LeetCode lcci 16.03 交点
    LeetCode 1305 两棵二叉搜索树中的所有元素
    LeetCode 1040 移动石子直到连续 II
    LeetCode 664 奇怪的打印机
    iOS UIPageViewController系统方法崩溃修复
    LeetCode 334 递增的三元子序列
  • 原文地址:https://www.cnblogs.com/xiaowangtongxue123/p/13180201.html
Copyright © 2011-2022 走看看