zoukankan      html  css  js  c++  java
  • redis数据类型之set,zset,hash

      上一篇说了string和list两种数据类型,现在说说剩下的几种数据类型;

      继续敲命令每一个命令,害╮(╯_╰)╭

    1.set

      这个就类似于java中的Set<Set<T>>,特点是:每一个set中元素无序,而且不能重复

     

      sadd: 没有指定set就创建一个set,然后向其中添加元素

      smembers: 遍历指定的set中所有元素

       scard: 返回指定set中元素的个数 

      spop:随机移除set中一个元素,也可以指定数量,一次随机移除多个;这个命令感觉没啥用....

      smove:可以让元素在两个set之间移动,注意,下图的newLanguage这个set会自动创建的

      srem:删除set中指定的元素

      sismember: 判断集合中是否有指定元素

      srandmember: 随机返回一个元素,只是返回,不会对set中元素有 任何修改操作

      sdiff: 这个命令很容易理解,就是去掉交集,但是不会对原有的set做任何修改,返回的数据是前面的集合为准 ;

      注意,可以接多个set,例如sdiff set1 set2 set3,以set1为基准,首先去掉set1和set2的交集,然后去掉set1和set3的交集

      sinter: 求交集

      sunion: 求并集

    2.zset

      这个zset和set的区别就是,set中的数据是无序的,而zset中是有序的,就好像jdk中Set和TreeSet一样;

      下图中其实和Set差不多,只不过在set中每一个元素中都有一个分数,就像打分一样,我们每丢进去一个元素都要给它打分,然后排序就是根据分数进行排序的

     

      

      zadd: 常见zset,并给添加的元素打分

      zrange: 根据分数进行排序

      zrangebyscore: 查找分数在某个区间的所有元素,还可以跟sql一样使用limit进行分页

      zcard: 查看集合中元素的个数;

      zrank: 返回一个元素在zset中的排名

      zrevrank: 返回倒着数的排名

     

      zscore: 查看某个元素的分数

      zrem: 删除某个元素

      zincrby: 给某个元素加分,通过这个命令可以实现一个排行榜的功能,比如每次给用户的分数加一,然后使用zrange/zrevrange就能获取排行榜

    3.hash

      hash就当作是java中的Map<String,Map<String,Object>>,

     

      hset: 创建一个hash类型,然后设置键值对

      hget: 向指定的hash中获取某个键对应的值

      hgetall: 获取指定的hash中所有的键值对

      hdel: 删除某个hash中的指定的键值对

      hexists: 判断hash中的指定键值对是否存在

      hkeys: 获取某个hash中所有的键

      hvals: 获取某个hash中所有的值

     

      hmset: 在一个hash中同时设置多个键值对

      hmget: 在一个hash中同时取出多个键对应的值

      hsetnx: 有指定的键则啥也不变,没有那个键就添加键值对;

     

       hincrby: 给hash中的某个指定的键对应的值加上一个数字

    --------------以上皆原创,给未来的自己留下一点学习的痕迹!--------
  • 相关阅读:
    Apache 常用伪静态配置
    Nginx 常用伪静态配置
    数组的完全随机排列
    PHP获得IP地址
    百度编辑器ueditor代码高亮效果前台不显示的解决方法
    ckeditor 图片上传功能配置
    sendmail 邮件服务器搭建
    关于MYSQL Incorrect string value
    linux 常见命令
    zend framework 初识
  • 原文地址:https://www.cnblogs.com/wyq1995/p/14335980.html
Copyright © 2011-2022 走看看