• NoSQL数据库一Redis基本使用


    基本操作

    参考教程:https://www.yiibai.com/redis/
    Redis 是 Key-Value 内存数据库,操作是通过各种指令进行的,比如 SET 指令可以设置键值对,而 GET 指令则获取某一个键的值。不同的数据结构,Redis 有不同的指令,这样指令一共有几十个,下面主要介绍一些常用的指令。

    Redis 对 Key 也就是键有各种各样的指令,主要有下面的指令(下面的指令中小写字符串都是参数,可以自定义):

    SET key value 设置键值;
    EXISTS key 判断键是否存在;
    EXPIRE key seconds 设置 Key 的过期时间,过期以后Key 将被自动删除;
    TTL key 获取 Key 的剩余生存时间;
    DEL key 删除 Key;
    TYPE key 获取 Key 对应的 Value 的类型;
    通过 redis-cli 演示以上的指令如下:

    
    127.0.0.1:6379> exists user
    (integer) 0
    127.0.0.1:6379> set user aiden
    OK
    127.0.0.1:6379> get user
    "aiden"
    127.0.0.1:6379> type user
    string
    127.0.0.1:6379> expire user 5
    (integer) 1
    127.0.0.1:6379> ttl user
    (integer) 4
    127.0.0.1:6379> ttl user
    (integer) 2
    127.0.0.1:6379> ttl user
    (integer) -2
    127.0.0.1:6379> exists user
    (integer) 0

    上面例子中,首先判断 user 键是否存在,接着通过 SET 设置了值,接着还使用 EXPIRE 指令设置了过期时间为 5 秒。可以看到 5 秒后,user 键就被自动删除了。

    有的时候会看到输出的字符串前有 b 这样的前缀,表示字节编码的字符串,对应的还有 u'xxxxx' 这类 unicode 编码的字符串,都比较常见。

    上文中已提到,Redis 还支持其他的数据结构,不仅仅是简单的字符串键值对,比如支持哈希类型的键值,这种数据结构中 Key 对应于一个哈希,而哈希又包含多个字段和相应的值。对于这种类型主要有下面的操作指令:

    HSET key field value 设置名称为 key 的哈希的字段 field 为值 value;
    HGET key field 获取名为 key 的哈希的字段 field;
    HGETALL key 获取名为 Key 的哈希所有字段和 Value;
    HKEYS key 获取名为 Key 的哈希的所有字段;
    HLEN key 获取名为 Key 的哈希的字段数量;
    通过 redis-cli 演示如下:

    
    127.0.0.1:6379> exists user
    (integer) 0
    127.0.0.1:6379> hset user name aiden
    (integer) 1
    127.0.0.1:6379> hset user age 30
    (integer) 1
    127.0.0.1:6379> hmset user email luojin@simplecloud.cn addr chengdu
    OK
    127.0.0.1:6379> hgetall user
    1) "name"
    2) "aiden"
    3) "age"
    4) "30"
    5) "email"
    6) "luojin@simplecloud.cn"
    7) "addr"
    8) "chengdu"
    127.0.0.1:6379> hkeys user
    1) "name"
    2) "age"
    3) "email"
    4) "addr"
    127.0.0.1:6379> hget user addr
    "chengdu"
    127.0.0.1:6379> hlen user
    (integer) 4

    上面的例子中,设置了一个名为 user 的哈希。先使用 HSET 为单个字段赋值,接着使用 HMSET 为多个字段赋值。使用 HGETALL 能一次获取全部的字段和值。

    Redis 还支持有序集合,有序集合可以用于快速实现排名功能,只要的操作指令如下:

    ZADD key score member 将成员和对应的评分添加到有序集合中;
    ZREVRANK key member 获取 member 在有序集合 key 中的排名;
    通过 redis-cli 演示如下:

    127.0.0.1:6379> zadd rank 100 aiden
    (integer) 1
    127.0.0.1:6379> zadd rank 120 lxtttx
    (integer) 1
    127.0.0.1:6379> zadd rank 80 jin
    (integer) 1
    127.0.0.1:6379> zrevrank rank aiden
    (integer) 1
    127.0.0.1:6379> zrevrank rank  lxtttx
    (integer) 0
    127.0.0.1:6379> zrevrank rank  jin
    (integer) 2
    127.0.0.1:6379> zrevrank rank  not_exist
    (nil)

    上面例子中,我们通过 ZADD 往 rank 中添加了三个成员,最后通过 ZREVRANK 依次获取了成员的排名,可以发现排名是从 0 开始计算的,排第 0 的成员得分最高。

  • 相关阅读:
    软件測试培训笔记
    spring test---測试SpringMvc初识
    第1章第3节 线性表的比較
    Remove Duplicates from Sorted List leetcode
    泛型
    我的改进版2048(1)
    docker镜像和加速
    在 Azure Web 应用中创建 PHP 应用程序
    使用 Azure 门户创建 Windows 虚拟机
    使用 Azure 门户创建 Linux 虚拟机
  • 原文地址:https://www.cnblogs.com/D666/p/9165102.html
Copyright © 2020-2023  润新知