redis当中的五种数据结构

Redis有五种基本数据类型,String(字符串),Hash(哈希),List(链表),Set(集合),ZSet(有序集合)

1、String是redis当中最常用的基本类型,常用命令:
      1、set key value [EX seconds] [PX milliseconds] [NX|XX]
         
 key:是访问value的关键字
           value:保存的数据
           redis当中的五种数据结构
           ex:表示要保存的时间,单位为秒,可以通过ttl查看该值还剩多少保存时间
           redis当中的五种数据结构
           px:同样表示保存的时间,单位为毫秒,可以通过pttl查看改值还剩余多少保存时间
           redis当中的五种数据结构
           nx:表示设置的值不存在就设置该值,否则就不会将值存入到指定的key中。
           redis当中的五种数据结构
           xx:如果key存在就设置该值,如果key不存在则无法将值存入。
           redis当中的五种数据结构
      2、get key 根据key获取指定的值
      3、del key [key...],删除多个key的值,删除成功返回删除的个数,删除失败返回0
           redis当中的五种数据结构
           我们看到成功删除了2个key,而liist不存在,那么自然就没有被删除
      4、keys Pattern,查看有什么key,后面的Pattern是正则表达式
           redis当中的五种数据结构
           我们看到使用*则查出来了所有的key,而使用l*则查出来所有以字母l开头的key
      5、dbsize,可以查看key的数量
      6、setrange key offset value,从第几位开始替换成我们想要的值,第几位就是offset的值。替换字符串,最后返回整个字符串的长度。
          redis当中的五种数据结构
          上面的例子从第四个位置开始讲@163替换成了test
     7、mset key value [key value ...],设置成功返回OK,重复设置会覆盖
          redis当中的五种数据结构
     8、mget key [key ...],有值得返回值,无值的返回nil
     9、msetnx key value [key value ...],设置成功会返回成功的个数,失败返回0。有重复的key将不会设置
          redis当中的五种数据结构
   10、getset key value,支持并发,是原子操作的,先返回该key的原始值,然后用新值替换原来的值。
          redis当中的五种数据结构
   11、incr key,该key的值必须是数值类型字符串表示,该函数对key的值加一
          redis当中的五种数据结构
  12、decr key,该key的值必须是数值型字符串表示,该函数对key的值减一
          redis当中的五种数据结构
  13、incrby key increment,该key的值必须是数值型字符串表示,该函数对key的值增加指定的数值(正数情况)或者减少指定数值(负数情况)
          redis当中的五种数据结构
  14、decrby key decrement,该key的值必须是数值型字符串表示,该函数对key的值增加指定的数值(负数情况)或者减少指定数值(正数情况)
          redis当中的五种数据结构
  15、incrbyfloat key increment,该key的值必须是数值型字符串表示,如果想要给key的值增加或者减少有小数的情况,可以使用该命令,正小数(增加),负小数(减少)
          redis当中的五种数据结构
  16、append key value,向指定的key追加内容,不会覆盖原始的内容。返回追加后字符串的总长度
          redis当中的五种数据结构
          如果此时key不存在的话,那么就和set命令相同
  17、strlen key,获取指定key值的长度
          redis当中的五种数据结构
  18、type key,返回当前key的值的类型。
          redis当中的五种数据结构

2、Hash类型是String类型的field和value的映射表,或者说是一个string 集合,它特别适合存储对象
   1、hset key field value,向键值为key的里面增加field和value的映射数据。增加成功返回1,如果重复增加,会覆盖,但是返回值是0。
         redis当中的五种数据结构
   2、hget key field,根据指定的key和field获取其对应的值。如果有值就返回其值,如果没有返回值为nil。
         redis当中的五种数据结构
   3、hmset key field value [field value ...],可以一次设置多个值。设置成功返回OK。如果重复设置会覆盖原来的值。
         redis当中的五种数据结构
   4、hmget key field [field ...],可以一次性获取指定key的多个field的值,有值的field会返回其值,没有值的返回nil。
         redis当中的五种数据结构
   5、hsetnx key field value,如果指定key的field的值不存在,则增加该值。增加成功返回1,增加失败返回0.
         redis当中的五种数据结构
   6、hincrby key field increment,该value的值必须是数字类型的字符串,否则有错。让指定key的指定field的值增加(正值)或者减少(负值)多少。
         redis当中的五种数据结构
   7、hincrbyfloat key field increment,该value的值必须是数字类型的字符串,否则有错。让指定key的指定field的值增加(正值)或者减少(负值)多少小数。
         redis当中的五种数据结构
   8、hexists key field,判断指定key的field字段是否有值,有值返回1,无值返回0.
         redis当中的五种数据结构
   9、hlen key,判断指定key下有几个field。有值返回就是几个,没有值就返回0。
         redis当中的五种数据结构
 10、hkeys key,列出指定key的field字段值。
         redis当中的五种数据结构
 11、hdel key field,删除指定key的field键值对,删除成功返回1,删除失败返回0.
         redis当中的五种数据结构
 12、hvals key,列出指定key的field的所对应的值,也就是value。
         redis当中的五种数据结构
 13、hgetall key,列出指定key的field和value的映射值。
         redis当中的五种数据结构

3、List是一个有序的集合,并且其值可以重复
   1、lpush key value [value ...] ,向指定列表key从左面增加元素。增加成功,返回当前列表元素的个数。这个显示的方式是堆栈的形式,先进后出。
         redis当中的五种数据结构
   2、rpush key value [value ...],向指定的列表key从右面增加元素。增加成功,返回当前列表元素的个数。这个显示的方式是队列的形式,先进先出。
         redis当中的五种数据结构
   3、linsert key BEFORE|AFTER pivot value,向指定列表key在指定元素【前|后】插入元素,成功返回列表当前元素的个数。
         redis当中的五种数据结构
   4、lrange key start stop,将制定列表key的元素按指定范围显示出来。 
         redis当中的五种数据结构
   5、lset key index(列表下标) value,将指定下标的元素替换掉,替换成功返回OK,可以重复操作,会替换以前的值。
         redis当中的五种数据结构
   6、lrem key count value,删除和指定元素想相等的元素并返回删除的个数,删除正确返回个数,删除错误返回0。count,删除个数,如果count是正数,从列表表头开始搜索,如果count是负数,从列表表尾开始搜索,删除的个数就是count的绝对值。
         redis当中的五种数据结构
   7、ltrim key start(开始值) stop(结束值),保留指定key的索引值范围内的数据,其他数据删除,开始从0开始。修剪成功返回OK,可以重复执行
         redis当中的五种数据结构
   8、lpop key,从list的头部删除元素,并返回删除元素
         redis当中的五种数据结构
   9、rpop key,从list的尾部删除元素,并返回删除元素。
         redis当中的五种数据结构
 10、rpoplpush source destination,第一步从指定list列表的尾部删除元素,第二步,从指定list列表头部加入元素。
         redis当中的五种数据结构
 11、lindex key index,返回指定list列表中index为止的元素。
         redis当中的五种数据结构