• Redis(三)


    Redis数据类型

    数据类型:

    String(字符串)。
    Hash(哈希),键值对结构。
    list(列表),列表的值有序可重复。
    set(集合),集合值无序不可重复。
    sort set(有序集合),集合值有序不可重复。

    String类型(String  Key-Value):

    string 是 redis 最基本的类型,你可以理解成与 Memcached 一模一样的类型,一个 key 对应一个 value。

    string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比如jpg图片或者序列化的对象。

    string 类型是 Redis 最基本的数据类型,string 类型的值最大能存储 512MB。

    赋值语法:SET key value

    127.0.0.1:6379> set test 123456

    OK

    取值语法:GET key

    127.0.0.1:6379> get test

    "123456“ 

     

    取值并赋值语法:GETSET key value

    127.0.0.1:6379> getset s2 222

    "111"

    127.0.0.1:6379> get s2

    "222"

    获取字符串长度语法:STRLEN key

    STRLEN命令,返回键值的长度,如果键不存在则返回0。

    127.0.0.1:6379> strlen str

    (integer) 0

    127.0.0.1:6379> set str hello

    OK

    127.0.0.1:6379> strlen str

    (integer) 5

    Hash类型(key-filed-value)

    Redis hash 是一个键值(key=>value)对集合。

    Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。

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

    key-value存储到一个key中。每一个Hash可以存储4294967295个键值对。

    设置值:hset  key  filed value 

    获取值:hget  key filed

    List类型

    Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。

    Redis的列表允许用户从序列的两端推入或者弹出元素,列表由多个字符串值组成的有序可重复的序列,是链表结构,所以向列表两端添加元素的时间复杂度为0(1),获取越接近两端的元素速度就越快。这意味着即使是一个有几千万个元素的列表,获取头部或尾部的10条记录也是极快的。List中可以包含的最大元素数量是4294967295。

    向列表两端增加元素

    向列表左边增加元素语法:LPUSH key value [value ...]

    127.0.0.1:6379> lpush list:1 1 2 3

    (integer) 3

    向列表右边增加元素语法:RPUSH key value [value ...]

    127.0.0.1:6379> rpush list:1 4 5 6

    (integer) 3

     

    查看列表语法LRANGE key start stop

    LRANGE命令是列表类型最常用的命令之一,获取列表中的某一片段,将返回start、stop之间的所有元素(包含两端的元素),

    索引从0开始。索引可以是负数,如:“-1”代表最后边的一个元素。

    127.0.0.1:6379> lrange list:1 0 2

    1) "2"

    2) "1"

    3) "4"

    Set类型

    Redis 的 Set 是 string 类型的无序集合。

    集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。

    Redis的集合是无序不可重复的,此处的无序是数据不能重复。和列表一样,在执行插入和删除以及判断是否存在某元素时,效率是很高的。集合最大的优势在于可以进行交集并集差集操作。Set可包含的最大元素数量是4294967295。

    增加/删除元素语法:SADD key member [member ...]:

    127.0.0.1:6379> sadd set a b c

    (integer) 3

    127.0.0.1:6379> sadd set a

    (integer) 0

     

    语法:SREM key member [member ...]:

    127.0.0.1:6379> srem set c d

    (integer) 1

    SortedSet类型zset

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

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

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

    增加元素

    向有序集合中加入一个元素和该元素的分数,如果该元素已经存在则会用新的分数替换原有的分数。返回值是新加入到集合中的元素个数,不包含之前已经存在的元素。

    语法:ZADD key score member [score member ...]:

    127.0.0.1:6379> zadd scoreboard 80 zhangsan 89 lisi 94 wangwu

    (integer) 3

    127.0.0.1:6379> zadd scoreboard 97 lisi

    (integer) 0

     删除元素

    移除有序集key中的一个或多个成员,不存在的成员将被忽略。

    key存在但不是有序集类型时,返回一个错误。

    语法:ZREM key member [member ...]:

    127.0.0.1:6379> zrem scoreboard lisi

    (integer) 1

     

  • 相关阅读:
    vuejs 实战 双向数据绑定
    ubuntu16安装cuda,cudnn,gpu版opencv
    ubuntu编译安装nginx并且配置流服务器
    安装使用mongodb
    c++ 编译安装ffmpeg
    apache2 日志文件太大的解决方案
    sql注入
    制作自己的电子词典
    python传递可变参数
    工厂模式
  • 原文地址:https://www.cnblogs.com/ptxxc/p/12215733.html
Copyright © 2020-2023  润新知