• redis数据结构


    1、string

    string 是 redis 最基本的数据类型,一个 key 对应一个 value,最大能存储 512MB。string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。

    示例:

    127.0.0.1:7000> set key value
    -> Redirected to slot [12539] located at 127.0.0.1:7002
    OK
    127.0.0.1:7002> get key
    "value"
    127.0.0.1:7002> del key
    (integer) 1

    2、hash

    hash是键值对的形式,类似java中的map。每个 hash 可以存储 232 -1 键值对(40多亿)。

    示例:

    127.0.0.1:7002> hset hkey field1 value1
    (integer) 1
    127.0.0.1:7002> hmset hkey field2 value2 field3 value3
    OK
    127.0.0.1:7002> hkeys hkey
    1) "field1"
    2) "field2"
    3) "field3"
    127.0.0.1:7002> hlen hkey
    (integer) 3
    127.0.0.1:7002> hmget hkey field1 field2
    1) "value1"
    2) "value2"
    127.0.0.1:7002> hdel hkey field1 field2 field3
    (integer) 3

    3、list

    list是有序的集合,类似java中的数组,支持在前后端插入、获取、删除元素。

    示例:

    127.0.0.1:7002> lpush lkey value1
    -> Redirected to slot [9755] located at 127.0.0.1:7001
    (integer) 1
    127.0.0.1:7001> rpush lkey value2 value3
    (integer) 3
    127.0.0.1:7001> lrange lkey 0 2
    1) "value1"
    2) "value2"
    3) "value3"
    127.0.0.1:7001> llen lkey
    (integer) 3
    127.0.0.1:7001> lpop lkey
    "value1"
    127.0.0.1:7001> rpop lkey
    "value3"
    127.0.0.1:7001> llen lkey
    (integer) 1

    这里可以利用lrange+lrem实现弹出多个元素,类似循环lpop,但是需要注意的是lrange+lrem需要在外部保证事务的完整性。

    4、set

    set是string类型的无序集合。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。set集合的值具有唯一性。

    示例:

    127.0.0.1:7001> sadd skey value1 value2 value1
    (integer) 2
    127.0.0.1:7001> smembers skey
    1) "value2"
    2) "value1"

    5、sorted set(zset)

    zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。

    不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

    zset的成员是唯一的,但分数(score)却可以重复。

    示例:

    127.0.0.1:7001> zadd zkey 1 value1
    (integer) 1
    127.0.0.1:7001> zadd zkey 1 value2
    (integer) 1
    127.0.0.1:7001> zadd zkey 1 value3
    (integer) 1
    127.0.0.1:7001> zadd zkey 1 value1
    (integer) 0
    127.0.0.1:7001> zrange zkey 0 3
    1) "value1"
    2) "value2"
    3) "value3"
  • 相关阅读:
    IIS调试技术之 Debug Diagnostic (调试诊断)
    其实,你什么都不用怕
    应用程序出现挂死,.NET Runtime at IP 791F7E06 (79140000) with exit code 80131506.
    LR_问题_如何将场景中的用户设置为百分比形式
    LR_问题_脚本运行时提示没有参数化
    LR_问题_无法打开IE浏览器、监视服务器资源
    LR_问题_运行场景时提示scripts you are running in invalid
    收集好用的在线调试工具
    es2015 解构赋值
    shim和polyfill
  • 原文地址:https://www.cnblogs.com/longc-pub/p/11284141.html
Copyright © 2020-2023  润新知