Redis笔记2---数据类型和基本操作

String(字符串)

  • 一个key对应一个value…就这么简单…

基本操作

//例如:username-mll(key是用户名,value是mll)

SET key value//添加键值对;set username mll
GET key//查询
DEL key//删除

//对存在的key
GETSET key value//修该key对应的value值,返回旧的值
//对不存在的key
SETNX key vlaue//仅在key不存在的情况下添加键值对
//例 GETSET username zhh 此时键值对为username-zhh 返回mll

//value为数字时,如id-1
INCR key//value+1
DECR key//value-1
INCRBY key increment//value+increment(增量)
DECRBY key decrement//value-decrement(负增量)
//例 INCRBY id 3 返回4;DECRBY id 1 返回3

//过期时间
SETEX key seconds value//seconds(秒),添加键值对并设置有效时间
//例 SET msg 3 666

Hash(哈希)

  • 我的理解是key对应一个value,这个value又对应一个key-value,value中的key是field。
  • 例如user(key);username-mll,password-12345(value)。nice!可以用来存对象呀!
    在这里插入图片描述

基本操作

//例user(key);username-mll,password-12345(value)
//key-value(field-value)

HMSET key field1 value1 [field2 value2] //添加key-value,如HMSET user username mll password 12345

DEL KEY //删除指定key-value
HDEL key field1 [field2]//删除value中指定的field-value

HGET key field//查询value中的指定field对应的value值
HMGET key field1 [field2]//查询value中的多个field对应的value值

HKEYS key//查询value中的所有field,如上例返回的是username,password
HVALS key//查询value中的所有field对应的value,如上例返回的是mll,12345

HGETALL key//获取指定的key-value;如上例,返回username,mll,password,12345
HSET key field value//修改value中指定的field对应的value;如HSET user username zhh

HLEN key//查询指定键值对的value有多少个field-value
//如上例返回的是2

List(列表)

  • 这里的list理解为“链表”,特点是查询比添加删除速度快。
  • 列表分为头部(left)和尾部(right)
  • 操作:从列表两端进行添加(push)和删除(pop)。故lpush,lpop为从列表左端添加,删除,rpush,rpop同理。

基本操作

//例: 1 2 3 4 5
LPUSH key value1 value2//返回5 4 3 2 1
LPOP key//从左边删除一个,返回4 3 2 1
RPUSH key value1 value2//返回 1 2 3 4 5
RPOP key//从右边删除一个,返回 1 2 3 4

LINDEX key index//根据index查询指定key,index从0开始,从左到右

//左边是前(before)右边是后(after)
//例如 list- 5 4 3 2 1,执行LINSERT list before 3 9
LINSERT key BEFORE pivot value//在pivot(list元素)前添加元素,得到 5 4 9 3 2 1
LINSETY key AFTER pivot value //在pivot(list元素)后添加元素,得到 5 4 3 9 2 1

LLEN key//查询列表长度

Set(集合)

  • 这个集合和数学概念的集合有点相似…
  • 特点:元素具有无序性和唯一性,String类型,通过哈希表实现
  • 操作:求交集、并集、差集
  • 【交集】A B 都有的; 【并集】 A有的,B也有的;【 差集】A有的,B没有的

基本操作

SADD key member1 [member2]//添加元素

SREM key member1 [member2]//删除元素
SPOP key//删除并返回集合中的一个随机元素

SMEMBERS key//查询集合所含所有元素

SCARD key//查询集合元素数量

SINTER key1 [key2]//求交集
SUNION key1 [key2]//并集
SDIFF key1 [key2]//求差集

Sorted Set(有序集合)

  • 顾名思义…元素有序的集合…
  • 特点:有序、唯一,String类型,通过哈希表实现
  • 如何实现有序?每个元素关联一个double类型的值(score),用来排序,这个值可以重复。

基本操作

ZADD key score member [score member...]//添加元素或更新已存在元素的分数
ZREM key member [member...]//删除元素
ZREMRANGEBYRANK key start stop//移除排名区间内的所有元素,start,top指索引,索引从0开始

ZCARD key//查询集合中元素的数量
ZCOUNT key min max//查询范围内元素的数量

ZSCORE key member//查询指定元素分数

//逆序(从大到小)
//例 age - baba(36),mama(35),yeye(55),nainai(57)
ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]//元素按分数从大到小排序,返回元素
//ZREVRANGEBYSCORE age +inf -inf//逆序排序所有元素
//ZREVRANGEBYSCORE key 100 1//逆序排序区间内的所有元素

ZREVRANK key member//返回集合中指定元素的排名(从0开始),分数值越高 排名越前
//ZREVRANK age yeye 返回1(nainai分数最高为0)

ZREVRANGE key start stop [WITHSCORES]//集合内元素递减排列,返回元素和分数
ZRANGE key start stop [WITHSCORES]//集合内元素递减排列,返回元素和分数
//ZREVRANGE salary 0 -1 WITHSCORES//分数从大到小,0,-1:索引,指全部
//ZRANGE salary 0 -1 WITHSCORES//分数从小到大,0,-1:索引,指全部
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值