• redis基本操作介绍


    一、字符串

    单个设置:set key value,如果key不存在则设置键值对,如果存在则修改

    批量设置:mset key1 value1 [key2 value2]

    单个获取:get key,如果key不存在返回结果为nil

    批量获取:mget key1 [key2]

    获取并修改:getset key value,如果key存在则修改值为value并返回key的原值,如果key不存在则设置key的值为value且返回值为nil

    查询:keys 正则匹配,例如keys *

    删除:del key,如果存在则返回删除的个数,不存在则反馈0

    append key var:在key的值后面拼接字符串var,如果key不存在则相当于set,例如name值为Alice,则append name es后name的值为Alicees

    getrange key start end:返回子串,字符串其实从0开始,包括开始和结束,例如hobby值为basketball,getrange hobby 2 5返回sket

    strlen key:反馈key的值的长度

    incr key:incr表示+1,如果key不存在则默认初始值为0,然后+1;如果key存在且为整数,则值+1;如果key存在且不为整数,则报错

    decr key:decr表示-1,用法类似incr

    incrby key n:incrby步长为n表示+n,用法类似incr

    decrby key n:做减法-n,用法类似incrby

    二、哈希

    单个设置:hset obj key value

    批量设置:hmset obj key1 value1 [key2 value2]...

    单个获取:hget obj key

    批量获取:hmget obj key1 [key2]...

    获取所有:hgetall obj,返回所有的key和对应的值

    删除key:hdel obj key1 [key2]

    删除哈希:del obj

    判断hash中是否存在某个key:hexists obj key,1表示存在0表示不存在

    获取key的个数:hlen obj

    获取所有key:hkeys obj

    获取所有key的值:hvals obj

    三、列表

    列表有顺序,即有下标,下标从0开始,0表示左边第一位(头部),-1表示右边第一位(尾部)。

    从左边插入元素:lpush mylist value1 [value2]

    从右边插入元素:rpush mylist value1 [value2]

    移出并获取左边第一个元素:lpop mylist

    移出并获取右边第一个元素:rpop mylist

    查看指定索引范围的元素:lrange mylist start end,start和end分别表示起始和结束索引,常用lrange mylist 0 -1查看整个列表

    查看指定索引的元素:lindex mylist index,index表示索引位置

    获取列表长度:llen mylist

    设置指定索引元素的值:lset mylist index value

    从左边开始在第一个指定元素前/后插入元素:linsert mylist before/after value1 value2,即从左开始在第一个value1前/后插入value2

    保留指定索引范围的元素:ltrim mylist start stop,start和end分别表示起始和结束索引

    删除列表:del mylist

    lrem mylist count value:count为数量,value为元素,表示删除count个value,分为三种情况:

    count为正数:从左边开始删除,删除count个value

    count为负数:从右边开始删除,删除|count|个value

    count为0:删除所有的value

    rpoplpush mylist1 mylist2:将mylist1右边的第一个元素移除,并且添加到mylist2的左边

    四、集合

    向集合中添加成员:sadd myset value1 [value2 ...]

    获取集合所有成员:smembers myset 

    统计集合成员数量:scard myset

    判断成员是否属于集合:sismember myset value

    随机返回成员:srandmember myset [n],默认随机返回集合中的一个成员(不是删除)

    随机删除成员:spop myset [n],默认随机删除一个,参数n表示随机删除n个,如果n超过成员个数则集合清空不会报错

    删除指定成员:srem myset value1 [value2 ...] 

    移动成员:smove myset1 myset2 value,将myset1中的成员移动到myset2中

    返回多个集合的交集:sinter myset1 myset2 [myset3 ...]

    返回多个集合的并集:sunion myset1 myset2 [myset3 ...]

    返回多个集合的差集:sdiff myset1 myset2 [myset3 ...],即myset1 - myset2 [ - myset3]

    返回多个集合的交集的元素个数并将成员存储到指定集合中:sinterstore destition myset1 myset2 [myset3 ...]

    返回多个集合的并集的元素个数并将成员存储到指定集合中:sunionstore destition myset1 myset2 [myset3 ...]

    返回多个集合的差集的元素个数并将成员存储到指定集合中:sdiffstore destition myset1 myset2 [myset3 ...]

  • 相关阅读:
    Vasya and Endless Credits CodeForces
    Dreamoon and Strings CodeForces
    Online Meeting CodeForces
    数塔取数 基础dp
    1001 数组中和等于K的数对 1090 3个数和为0
    1091 线段的重叠
    51nod 最小周长
    走格子 51nod
    1289 大鱼吃小鱼
    POJ 1979 Red and Black
  • 原文地址:https://www.cnblogs.com/Forever77/p/11524161.html
Copyright © 2020-2023  润新知