• Redis学习基础二


    回顾:上一基础中已了解 ( 什么是redis 、redis 的三大特点、安装,和数据配置)

       接下来浅尝Redis的数据类型,时间煮雨......

    一、Redis数据类型

      redis支持五中数据类型(string字符串、hash哈希、list列表、set集合、zset有序集合)

      (一)String 字符串

        1、string 是redis 中最基本的类型,可以理解成与memcached一模一样的类型,一个key对应一个value

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

        3、sting 类型是redis最基本的数据类型,一个键最大能存储512MB

        实战    

    redis 127.0.0.1:6379> set name 'myis lcc'
    OK
    redis 127.0.0.1:6379> get name
    "myis lcc"
    redis 127.0.0.1:6379>
    

      这里用到了redis 的 SET 和 GET命令,键为name,对应的值为 myis lcc

      (二)Hash 哈希

        1、redis hash 是一个键值对集合

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

        (一个键最大储存512MB)

        实战

    redis 127.0.0.1:6379> HMSET user:1 username redis password redis points 200
    OK
    redis 127.0.0.1:6379> HGETALL user:1
    1) "username"
    2) "redis"
    3) "password"
    4) "redis"
    5) "points"
    6) "200"
    redis 127.0.0.1:6379>
    

      

        以上实例中 hash 数据类型储存了包含用户脚本的信息的用户对象,实例中用了 Redis HMSET HGETALL命令, user:1为键名

        (每个hash可以储存2的32次方-1键值对(40多亿))

      (三)List 列表

        1、redis 列表是简单的字符串列表,安装顺序排序。可以添加一个元素导入列表的左边(头部) 或者右边(尾部)

        实战      

    redis 127.0.0.1:6379> lpush redis.list php
    (integer) 1
    redis 127.0.0.1:6379> lpush redis.list mysql
    (integer) 2
    redis 127.0.0.1:6379> rpush redis.list cc
    (integer) 3
    redis 127.0.0.1:6379> lrange redis.list 0 10
    1) "mysql"
    2) "php"
    3) "cc"
    redis 127.0.0.1:6379>
    

      

        (列表最多可以储存2的32次方-1个元素(4294967295 每个类别可以存40多亿))

      (四)Set 集合

        1、redis 的集合 set 是string 类型的无序集合

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

        3、sadd 命令

           添加一个sting元素到集合中,成功返回1,如果元素已经存在返回 0, key对应的set 不存在发生错误则返回错误

        sadd key member

        实例  

        

    redis 127.0.0.1:6379> sadd redis.set mysql
    (integer) 1
    redis 127.0.0.1:6379> sadd redis.set php
    (integer) 1
    redis 127.0.0.1:6379> sadd redis.set cc
    (integer) 1
    redis 127.0.0.1:6379> sadd redis.set mysql
    (integer) 0
    redis 127.0.0.1:6379> smembers redis.set
    1) "php"
    2) "cc"
    3) "mysql"
    redis 127.0.0.1:6379>
    

      

        注意:以上实例中 mysql 添加了两次,但是根据集合内元素的唯一性,第二次插入的元素会被忽略    

        (集合中最大的成员数位2的32次方-1(4294967295 每个类别可以存40多亿))

      (五)Zset 有序集合

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

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

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

        4、zadd 命令

          添加元素到集合,元素在集合中存在则更新score

          zadd key score member

        实战  

        

    redis 127.0.0.1:6379> zadd redis.zset.cn 0 php
    (integer) 1
    redis 127.0.0.1:6379> zadd redis.zset.cn 0 mysql
    (integer) 1
    redis 127.0.0.1:6379> zadd redis.zset.cn 0 redis
    (integer) 1
    redis 127.0.0.1:6379> zadd redis.zset.cn 0 redis
    (integer) 0
    redis 127.0.0.1:6379> ZRANGEBYSCORE redis.zset.cn 0 10
    1) "mysql"
    2) "php"
    3) "redis"
    redis 127.0.0.1:6379>
    

      

       以上就是浅尝Redis 数据类型,接下来进行命令实践

     注明:纯手工码字搬运哟

        

      

      

        

  • 相关阅读:
    单调栈
    【算法】验证码识别基础方法及源码
    获取安全时间
    用Cecil任意修改.Net程序集+源码
    【C#】纯托管实现一个Git服务端
    一个普通的但难以作答的面试题
    【WP7】欺骗你的地理坐标+源码
    【WP7】判断GPS坐标是否在中国
    完美的web 2.0站点用户中心标准,及开源用户中心nUserCenter进展报告
    开源 Asp.net mvc 用户中心开发计划
  • 原文地址:https://www.cnblogs.com/dump/p/8085720.html
Copyright © 2020-2023  润新知