zoukankan      html  css  js  c++  java
  • 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 ...]

  • 相关阅读:
    二进制安全(学习笔记)
    rsa
    bugku 隐写 笔记
    dvwa随学笔记
    实验吧 密码学 writeup
    实验吧 隐写 writeup
    实验吧 web题weiteup
    Java数据结构和算法 第二版 课后习题第三章
    自动化测试入门指南(3)-- 入门demo
    自动化测试入门指南(2)-- 环境搭建
  • 原文地址:https://www.cnblogs.com/Forever77/p/11524161.html
Copyright © 2011-2022 走看看