redis数据类型(六)

Redis的五大数据类型:

1:string(字符串):string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。
                                   string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。
                                   string类型是Redis最基本的数据类型,一个redis中字符串value最多可以是512M。

2:hash(哈希,类似java里的Map): Redis hash 是一个键值对集合。
                                                             Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。
                                                            类似Java里面的Map<String,Object>

3:list(列表):Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)    

                          或者尾部(右 边)。它的底层实际是个链表

4:set(集合):Redis的Set是string类型的无序集合。它是通过HashTable实现实现的,

5:zset(sorted set:有序集合):

                             Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
                             不同的是每个元素都会关联一个double类型的分数。
                             redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。

详解:

一Redis 键(key):案例:

                         keys * 查看当前库的所有key

                         exists key的名字,判断某个key是否存在,1有,0没有

                         move key db   --->将key从当前库移除到指定的库

                        expire key 秒钟:为给定的key设置过期时间,到期后,key被删除

                        ttl key 查看还有多少秒过期,-1表示永不过期,-2表示已过期

                        type key 查看你的key是什么类型


Redis字符串(String):单值单value

                                set/get/del/append/strlen

                                 append key value :APPEND 命令将 value 追加到 key 原来的值的末尾。

             strlen key:查看key对应的value的长度

            Incr/decr/incrby/decrby,一定要是数字才能进行加减

            incr key,增加1 decr key,减1,incrby key number,以number增加,decrby key number 以number减少


      getrange/setrange  

getrange:获取指定区间范围内的值,类似between......and的关系,从零到负一表示全部

setrange设置指定区间范围内的值,格式是setrange key值 具体值


 setex(set with expire)键秒值/setnx(set if not exist)

setex:设置带过期时间的key,动态设置。
       

    将值 value 关联到 key ,并将 key 的生存时间设为 seconds (以秒为单位)。

    如果 key 已经存在, SETEX 命令将覆写旧值。

  setnx:只有在 key 不存在时设置 key 的值。

         将 key 的值设为 value ,当且仅当 key 不存在。

   若给定的 key 已经存在,则 SETNX 不做任何动作。


 mset/mget/msetnx


getset:将给定 key 的值设为 value ,并返回 key 的旧值(old value)。
简单一句话,先get然后立即set

二:




 rpoplpush 源列表 目的列表



性能总结:
它是一个字符串链表,left、right都可以插入添加;
如果键不存在,创建新的链表;
如果键已存在,新增内容;
如果值全移除,对应的键也就消失了。
链表的操作无论是头和尾效率都极高,但假如是对中间元素进行操作,效率就很惨淡了。

Redis集合(Set)



Redis哈希(Hash):




Redis有序集合Zset(sorted set)






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值