Redis之五种数据类型的简单增删改查

作者: 阿_毅 | 来源:发表于2016-06-24 12:35 被阅读571次

    开心一笑

    乌龟受伤。让蜗牛去买药。过了2个小时。蜗牛还没回来。乌龟急了骂道:他妈的再不回来老子就死了!这时门外传来了蜗牛的声音:你他妈再说老子不去了!

    提出问题

    Redis如何实现五种数据类型的简单增删改查命令???

    解决问题

    假设你已经安装Redis服务器;
    假设你已经打开Redis cli命令行工具;
    假设你对Redis有所了解;

    Redis简单增删改查例子

    例一:字符串的增删改查

    #增加一个key为ay_key的值
    127.0.0.1:6379> set ay_key "ay"
    OK
    #查询ay_key的值
    127.0.0.1:6379> get ay_key
    "ay"
    #修改ay_key的值
    127.0.0.1:6379> set ay_key "new_ay"
    OK
    127.0.0.1:6379> get ay_key
    "new_ay"
    #修改ay_key名称
    127.0.0.1:6379> rename ay_key new_ay_key
    OK
    127.0.0.1:6379> keys *
    1) "new_ay_key"
    #删除ay_key
    127.0.0.1:6379> del ay_key
    (integer) 0
    #查询是否存在ay_key  0
    127.0.0.1:6379> exists ay_key
    (integer) 0
    

    例二:Set集合的增删改查

    #删除当前选择数据库中的所有key
    127.0.0.1:6379> flushdb
    OK
    #生成set集合,添加4个数据
    127.0.0.1:6379> sadd set_ay_key "ay" "al" "xy" "xl"
    (integer) 4
    #查询set里面所有值
    127.0.0.1:6379> smembers set_ay_key
    1) "xy"
    2) "al"
    3) "ay"
    4) "xl"
    #删除value为"xl" , 返回 1  如果没有返回 0
    127.0.0.1:6379> srem set_ay_key "xl"
    (integer) 1
    127.0.0.1:6379> smembers set_ay_key
    1) "xy"
    2) "al"
    3) "ay"
    #添加value为"xl"
    127.0.0.1:6379> sadd set_ay_key "xl"
    (integer) 1
    127.0.0.1:6379> smembers set_ay_key
    1) "xy"
    2) "al"
    3) "ay"
    4) "xl"
    #添加value为"xl"  添加不进去,但也不报错,set是不允许重复的
    127.0.0.1:6379> sadd set_ay_key "xl"
    (integer) 0
    #不多解释
    127.0.0.1:6379> sadd set_ay_key "xl"
    (integer) 0
    #不多解释
    127.0.0.1:6379> sadd set_ay_key "xl"
    (integer) 0
    

    例三:List集合的增删改查

    #添加key为list_ay_key的list集合
    127.0.0.1:6379> lpush list_ay_key "ay" "al" "xy" "xl"
    (integer) 4
    #查询key为list_ay_key的集合
    127.0.0.1:6379> lrange list_ay_key 0 -1
    1) "xl"
    2) "xy"
    3) "al"
    4) "ay"
    #往list尾部添加元素
    127.0.0.1:6379> rpush list_ay_key "together"
    (integer) 5
    #往list头部添加元素
    127.0.0.1:6379> lpush list_ay_key "first"
    (integer) 6
    #查询list集合
    127.0.0.1:6379> lrange list_ay_key 0 -1
    1) "first"
    2) "xl"
    3) "xy"
    4) "al"
    5) "ay"
    6) "together"
    #更新index为0的值    
    127.0.0.1:6379> lset list_ay_key 0 "update_first"
    OK
    127.0.0.1:6379> lrange list_ay_key 0 -1
    1) "update_first"
    2) "xl"
    3) "xy"
    4) "al"
    5) "ay"
    6) "together"
    #删除index为1上的值
    127.0.0.1:6379> lrem list_ay_key 1 "update_first"
    (integer) 1
    127.0.0.1:6379> lrange list_ay_key 0 -1
    1) "xl"
    2) "xy"
    3) "al"
    4) "ay"
    5) "together"
    

    例四:Hash集合(类似Java)的增删改查

    127.0.0.1:6379> flushdb
    OK
    #生成hash集合,并添加key 为uuid_one value 为"12345"
    127.0.0.1:6379> hset hash_ay_key "uuid_one" "12345"
    (integer) 1
    127.0.0.1:6379> hlen hash_ay_key
    (integer) 1
    #返回集合所有的key
    127.0.0.1:6379> hkeys hash_ay_key
    1) "uuid_one"
    #返回集合所有value
    127.0.0.1:6379> hvals hash_ay_key
    1) "12345"
    #集合添加值
    127.0.0.1:6379> hset hash_ay_key "uuid_two" "22222"
    (integer) 1
    #集合添加值
    127.0.0.1:6379> hset hash_ay_key "uuid_three" "33333"
    (integer) 1
    #获得key为uuid_one的值
    127.0.0.1:6379> hget hash_ay_key  uuid_one
    "12345"
    #删除key为uuid_three的值
    127.0.0.1:6379> hdel hash_ay_key uuid_three
    (integer) 1
    127.0.0.1:6379> hkeys hash_ay_key
    1) "uuid_one"
    2) "uuid_two"
    #获得所有,包括key和value
    127.0.0.1:6379> hgetall hash_ay_key
    1) "uuid_one"
    2) "12345"
    3) "uuid_two"
    4) "22222"
    #更新key为uuid_one的值
    127.0.0.1:6379> hset hash_ay_key uuid_one "11111"
    (integer) 0
    127.0.0.1:6379> hset hash_ay_key "uuid_one" "11111"
    (integer) 0
    127.0.0.1:6379> hgetall hash_ay_key
    1) "uuid_one"
    2) "11111"
    3) "uuid_two"
    4) "22222"
    

    例四:SortedSet集合的增删改查

    SortedSet是有序的set集合

    #sorted set添加值ay 排序值为 1
    127.0.0.1:6379> zadd zset_ay_key 1 "ay"
    (integer) 1
    127.0.0.1:6379> zadd zset_ay_key 2 "al"
    (integer) 1
    127.0.0.1:6379> zadd zset_ay_key 3 "xy"
    (integer) 1
    127.0.0.1:6379> zadd zset_ay_key 4 "xl"
    (integer) 1
    #查询所有的值
    127.0.0.1:6379> zrange zset_ay_key 0 -1
    1) "ay"
    2) "al"
    3) "xy"
    4) "xl"
    #删除所有的值
    127.0.0.1:6379> zrem zet_ay_key "xl"
    (integer) 0
    127.0.0.1:6379> zrange zset_ay_key 0 -1
    1) "ay"
    2) "al"
    3) "xy"
    4) "xl"
    

    看下面的文章.....

    参考高手文章

    http://www.runoob.com/redis/redis-sorted-sets.html

    17.png

    读书感悟

    来自《长江七号》

    • 星爷”对儿子的家训(片中反复出现了3次)——我们虽然穷,但是不能说谎,也不能打人;不是我们的东西,我们不能拿;要好好读书,长大要做个对社会有用的人。

    相关文章

      网友评论

      • 呵呵哒的你:大佬,请问一下,redis-cli的背景图是如何修改的。看着你的图好舒服哈

      本文标题:Redis之五种数据类型的简单增删改查

      本文链接:https://www.haomeiwen.com/subject/gcmodttx.html