Redis-数据类型和方法

来源:互联网 发布:非线性最优化求参数 编辑:程序博客网 时间:2024/05/29 08:13

redis的数据类型有:string、hashes、lists、sets,sorted sets

  1. string类型:

                      set、get   添加键值对获得键值对、**如果多次赋值会覆盖掉原来的value**                  setnx   会自动判断是否存在,如果存在返回0不存在返回1,并且不会覆盖原来的value                  setex   设置失效时间(毫秒)setex color 10 red                  setrange   设置第几个开始替换setrange email 6 163.com                  mset  设置多个key-value mset k1 v1 k2 v2                  msetnx   具体情况和setnx类似,设置多个的时候返回成功的个数                  getset   设置一个key的value并且返回一个key的原来的值                  getrange   返回第几个到第几个getrange email 0 5                  mget   获得多个key-value的值 mget k1 k2                  incr   自动步增incr key6                  incrby   自动规定步增incrby key6 5、incrby key6 -5                  decr   同上自减                  decrby   同上自减                  append   指定的key追加value,返回生成字符串长度                  strlen   查看字符串长度
  2. hashes类型: 相对较节省空间(具体的意思同上)

                     hset user1 username admin  设置key 可以覆盖                 hsetnx user2 username admin  设置不重复keys                 hmset user3 username admin password admin age 2 state 2  多个设置                 hmget user3 username password age state  多个获得                 hincrby user3 age 19  自增                 hexists user3 username  查看字段是否存在                 hlen user3  查看hash的长度                 hdel user3 age  删除hash里面对应的名字的value                 hkeys user3  返回所有的keys                 hvals user3   返回所有的values                 hgetall user3  同时返回keys的values
  3. lists类型(相对于队列和栈)

                     lpust mylistname1 2 3 放入 、先进后出                 lrange mylistname 0 -1   从0取到尾                 rpust mylistname1 2 3  放入 、先进先出                 lrange mylistname 0 -1   从0取到尾                 linsert mylistname before one two  从尾到顶元素的之前插入                 lset mylistname 0 four  改变下标为0的元素、对于lpush内容是从上向下递增标注下标的                 lrem mylistname 2 two  在mylistname这个list中删除value为two的两个数据                 ltrim mylistname 1 -1  保留mylistname里面从第一个元素到第二个元素的内容、别的元素全部删除                 lpop mylistname  从头部弹出元素                 rpop mylistname  从尾部弹出一个元素                     rpoplpush mylistname1 mylistname2  从第一个尾部弹出一个元素放入第二个头部                 lindex mylistname 1  取得索引value                 llen mylistname  取得list的长度
    1. sets集合

                   sadd mysetname values1 插上set里面的value             smembers mysetname 查看mysetname里面的value             srem mysetname values1 删除values1 的值             spop mysetname 随即弹出一个数             sdiff mysetname1 mysetname 2 返回两个set的差集谁在前面把谁作为参照物             sdiffstore mysetname3 mysetname2 mysetname1 把2 和1 的不同存入到3中             sinter mysetname1 mysetname2 返回两个set的交集             sinterstore mysetname3 mysetname2 mysetname1 返回两个set的交集放到3里面             sunion mysetname2 mysetname1 返回两个set的并集             sunionstore mysetname3 mysetname2 mysetname1 返回两个set的并集,存储到3中、关键在上面的这些操作都可以有≥两个参数             smove mysetname1 mysetname2 three 把1中的three元素剪切到2中             scard mysetname 返回set里面的元素个数             sismember mysetname one 判断one是不是集合的元素             srandmember mysetname 随即返回一个元素
  4. sorted sets 有序集合

                     zadd myzsetname 1 one   插入有序集合,并且指定顺序                 zrange myzsetname 0 -1 [withscores]    全部取出,并且显示顺序号                 zrem myzsetname one  删除元素                 zincrby  myzsetname 2 one  添加元素,自动增长                 zrank myzsetname one  根据索引从小到大排序,然后显示索引值(这个可以做访问量什么的排名之类的)                 zrevrank myzsetname one  和上面的意思一样,但是是scores从打到小排序                 zrangebyscore myzsetname 0 -1 withscores  从一定区间里面按照scores返回                 zcount myzsetname2 3  返回2 3中间的所有的数量      zremrangebyrank myzsetnage 2 3 删除2 和3 位置,按照索引来删除
0 0
原创粉丝点击