Redis常用的数据结构有5种 String Hash List Set SortSet

String

  • Set name fitz 设置name = fitz 存储
  • Get name 获取设置好的name的值
  • Setnx name fitz 设置name键值为fitz 如果存在,则返回0 不存在返回1
  • Mset name fitz age 23 salary 233333 设置多个键值对 一块存错 全成功,全失败
  • Msetnx name fitz age 23 hoby basketball 如果设置多个键值对中有存在返回失败
  • Mget name age salary 获取多个键的值
  • Getset name fitz 获取name的值,并设置新的值为fitz
  • Setrange name 3 fitz 将键name 3字符和面的进行替换 结果为luofitz
  • Getrange name 3 6 获取键name的值 结果为luofitz
  • Append name .com 给键nane追加.com 结果为fitz.com
  • Incr age 设置每个值自增 返回结果为24
  • Incrby age 6 给name加上6 如果是负数则键
  • Decr 与incr相反
  • Decrby 与decrby相反
  • Strlen 返回键对应的值得字符长度

Hash

  • Hset user:001 name fitz 设置哈表名字user 表里面的001 的name 设置为 fitz
  • Hsetnx user name maomao 设置哈希表名字中的name 存在,设置不成功
  • Hget user:001 name 获取hash表的user的001的值
  • Hmset user:003 name maomao age 23 批量设置
  • Hmget user:003 name age 批量获取user:003的值
  • Hincrby user:003 age 3 给hash表的age值加上3
  • Hexists user:003 name 判断hash表中式否存在name的键
  • Hlen user:003 返回hash表的所有的字段的数目
  • Hkeys user:003 返回hash表的所有字段
  • Hvals user:003 返回hash表中所有的值
  • Hgetall user:003 返回所有的字段和值
  • Hdel user:003 name 对hash的name的值和键删除

List

栈:先进后出 队列:先进先出

  • lpush 从头压入
    • Lpush list1 “world”
    • lpush list1 ‘hello”
    • Lrange list1 0 -1 把链表中的数据从0到尾全部取出
  • rpush 从尾部压入
    • rpush list2 “world”
    • rpush list2 “luowen”
    • lrange list2 0 -1
  • linsert 插入出入数据
    • Linsert list3 before maomao love
    • Lrange list3 0 -1
    • Linsert list3 after luowen love
    • Lrange list3 0 -1
  • lset 给某个元素赋值
    • Lset list5 0 “deom”
  • lrem 删除list表中的数据
    • Lrem list6 1 “luowen”
  • ltrim 对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除
    • LTRIM KEY_NAME START STOP
  • lpop 从链表的头部弹出一个元素
    • LLEN KEY_NAME
  • rpop 从链表的尾部弹出一个元素
    • LLEN KEY_NAME
  • rpoplpush 从一个链表弹出,在从头部压入到另一个链表
    • RPOPLPUSH SOURCE_KEY_NAME DESTINATION_KEY_NAME
  • lindex 返回一个list小标的索引值
  • llen 返回这个链表的元素的长度

set

  • sadd 向集合中插入一条数据
  • srem 删除集合中的一个元素
  • smembers 查看集合中的元素
  • spop 从集合随机弹出一个元素,返回键值
  • sdiff 两个集合的差集 返回两个集合不一样的,根据第一个集合为标准
  • sdiffstroe 将两个差集存储到另外一个集合
  • sinter 将两个集合的交集
  • sinterstore 将两个集合的交集存储到另外一个集合中
  • sunion 将两个集合并集
  • sunionstore 将两个集合并集并存储到另外一个集合中
  • smove 将以个集合中的元素移动到另外一个集合中
  • scard 查看集合中元素的个数
  • sismember 判断是否是集合中的元素
  • srandmember myset14 随机取出myset1 中的元素

SortSet

  • zadd 添加到有序集合中区
  • zrem 删除有序集合中的元素
  • zincrby myzsent luowen1 3将myzsent luown1的序号更改为4 如果没有,就创建他
  • zrank 找到myzsent 对应值得索引
  • zrevrank 反过来去索引
  • zrangebyscore 返回集合中指定的元素
  • zcount 返回指定空间的数量
  • zcard 返回集合中所有元素的个数
  • zremrangbyrank 删除集合中指定区间的元素,并将索引进行排序
  • zremrangbyscore 删除集合中指定元素,按循序进行排序
  • sadd 向集合中插入一条数据