zoukankan      html  css  js  c++  java
  • 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 数据类型,接下来进行命令实践

     注明:纯手工码字搬运哟

        

      

      

        

  • 相关阅读:
    微信开放平台:OpenAPI、云开发与基础管理能力升级
    腾讯刘颖:从容器到低代码,腾讯云原生技术演进历程
    十年老站长心声:我为什么选择把 Hexo 网站迁移到 Webify
    腾讯云发布微搭生态开放计划,与合作伙伴携手共创产业未来
    SQL Server附加数据库出现错误5123的正确解决方法
    数据分页获取(二)
    Select语句
    数据分页获取(一)
    SQL Server中行转列原理
    QT实现Linux下系统监控小工具之二
  • 原文地址:https://www.cnblogs.com/dump/p/8085720.html
Copyright © 2011-2022 走看看