Redis的基本操作

来源:互联网 发布:美国本科预科 知乎 编辑:程序博客网 时间:2024/06/08 00:40
// string类型操作,数据结构为一个键值对,均为string类型// 设置k的值v,若k存在,直接替换set k v// 设置k的值v,前提是k不存在,否则返回0setnx k v// 设置k的值v,且有效期为n秒,超过有效期,键值消失setex k n v// 将k的值v中第三个及之后的全部字符替换为newv,下标从0开始setrange k 3 newv// 设置k的值v,且一次可以设置多对键值mset k1 v1 k2 v2 k3 v3 ..// 设置k的值v,且一次可以设置多对键值,前提是k不存在msetnx ..// 返回k的值get k// 设置k的值v,同时返回k的旧值,没有返回nilgetset k v// 返回k的值v中的第0到第6个字符getrange k 0 6// 返回k的值v中倒数第7到倒数第1个字符getrange k -7 -1// 一次返回多个k的值v,没有返回nilmget k1 k2 k3 ..// 将k的值v加1,若值为非数字出错。若k不存在,创建k并设置值v为1incr k// 将k的值v加num,若k不存在,创建k并设置值v为numincrby k num// 将k的值v减1,若k不存在,创建k并设置值v为-1decr k// 将k的值v减num,若k不存在,创建k并设置值v为-numdecrby k num// 给k的值v追加apstrappend k apstr// 返回k的值v的长度strlen k// 测试k是否存在exists k// 删除指定的kdel k// hash类型操作,数据结构类似表,表的每一行为string类型的键值对// 在myhash中添加k、v键值hset myhash k v// 在myhash中添加k、v键值,前提k不存在hsetnx myhash k v// 在myhash中一次性添加多个键值hmset myhash k1 v1 k2 v2 k3 v3 ..// 返回myhash中k的值vhget myhash k// 一次性返回myhash中多个k的值vhmget myhash k1 k2 k3// 将myhash中k的值v加numhincrby myhash k num// 测试myhansh中是否存在khexists myhash k// 返回myhash中键值对的数量hlen myhash// 删除myhash中指定的khdel myhash k// 返回myhash中所有的khkeys myhash// 返回myhash中所有的vhvals myhash// 返回myhash中所有的键值hgetall myhash// list类型操作,数据结构类似链表,链表名字对应键k,所有的链表结点对应值v,有序可重复// 从mylist表头插入值v,mylist是链表的名字,就是k,l是left缩写lpush mylist v// 从mylist表尾插入值v,r是right缩写rpush mylist v// 返回mylist第0个到倒数第1个结点的所有值v。结点下标左侧从0开始,右侧从-1开始,正数从表头算,负数从表尾算lrange mylist 0 -1// 在mylist的oldv值之前插入newv值linsert mylist before oldv newv// 设置mylist的指定下标2处的值为newv,若2处存在值替换lset mylist 2 newv// 从mylist中顺序删除count个值为v的结点,count为正数从表头算,为负数从表尾算,为0删除全部值为v的结点lrem mylist count v// 保留mylist中第一个到最后一个的所有结点,其余删除ltrim mylist 1 -1// 从mylist表头删除一个元素lpop mylist// 从mylist表尾删除一个元素rpop mylist// 从mylist1表尾删除元素,并从mylist2的表头插入被删除的元素rpoplpush mylist1 mylist2// 返回mylist中指定下标0处的值vlindex mylist 0// 返回mylist的长度len mylist// set类型操作,数据结构类似数学中的集合,集合名字对应键k,集合中的所有元素对应指v,无序不可重复,非线程安全// 在myset中添加值v,myset是集合的名字,就是ksadd myset v// 返回myset中的所有元素smembers myset// 删除myset中值为v的元素srem myset v// 随机删除myset中的一个元素spop myset// 返回myset1与myset2的差集,为myset1中删除与myset2相同的元素后myset1中剩余的元素sdiff myset1 myset2// 将myset1与myset2的差集赋给myset3,并返回myset3的全部元素sdiffstore myset3 myset1 myset2// 返回myset1与myset2的交集sinter myset1 myset2// 将myset1与myset2的交集赋给myset3,并返回myset3的全部元素sinterstore myset3 myset1 myset2// 返回myset1与myset2的并集sunion myset1 myset2// 将myset1与myset2的并集赋给myset3,并返回myset3的全部元素sunionstore myset3 myset1 myset2// 从myset1中删除值为v的元素,并添加到myset2smove myset1 myset2 v// 返回myset中元素的个数scard myset// 测试myset中是否存在值为v的元素sismember myset v// 随机返回myset中的一个元素srandmember myset// sorted set类型操作,有序的set,数据结构的每个元素中添加了一个位置属性,位置不是下标,从1开始// 在myzset中的指定位置1添加值为v的元素,若该元素已存在,则仅更新元素的位置zadd myzset 1 v// 返回myzset中的所有元素以及元素的位置zrange myzset 0 -1 withscores// 从myzset中删除值为v的元素zrem myzset v// 将myzset中的值为v的元素的位置加num,若元素不存在,添加元素v,且设置位置为numzincrby myzset num v// 返回myzset中值为v的元素下标,下标不是位置,先对myzset中元素按位置进行升序排序,然后返回下标,下标从0开始zrank myzset v// 返回myzset中值为v的元素下标,先对myzset中元素按位置进行降序排序,然后返回下标,下标从0开始zrevrank myzset v// 先对myzset中的元素按位置降序排序,然后返回指定下标范围的元素与位置zrevrange myzset 0 -1 withscore// 返回myzset中指定位置范围的元素与位置zrangebyscore myzset 2 3 withscore// 返回myzset中指定位置范围内元素的个数zcount myzset 2 3// 返回myzset中元素的个数zcard myzset// 返回myzset中值为v的元素的位置zscore myzset v// 先对myzset中的元素按照]位置升序排序,然后删除下标在3到3之间的元素zremrangebyrank myzset 3 3// 先对myzset中的元素按位置升序排序,然后删除位置在3到3之间的元素zremrangebyscore myzset 3 3
0 0
原创粉丝点击