• Redis基本数据类型与基本操作


    redis数据类型

    字符串string,列表list,集合set,哈希hash,有序集合zset
    redis通常value均为string类型,如列表中的每个元素为string
    字符串类型操作

    单key-单value

    set key value		//设置字符串键值,key存在则覆盖
    get	key				//获取字符串值
    append key newValue	//在原有值后追加新字符串值,相当于拼接,返回追加之后字符串的长度。若key不存在则新创建一个key,值为newValue
    strlen key			//查看字符串值的长度
    incr key			//前提值可进行运算,即为字符串数值。将字符串数值进行加1运算,返回加1后的数值。若key不存在,新建一个key,值初始化为0,再进行incr运算。
    decr key			//类似incr,做减1运算。
    incrby key number	//做加number运算。
    decrby key number	//做减number运算。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    列表类型操作

    单key-多有序value

    多个value有顺序,左侧为表头,右侧为表尾;

    value下标从表头由0开始类似数组;或者下标从表尾计算,表尾下标为-1,往前依次减1。

    value在列表中的下标由放入的顺序决定。

    lpush key v1 v2 v3 ...		//将一个或多个value依次放入列表表头
    lrange key startIndex endIndex		//获取列表中指定下标区间的元素
    lrange key 0 -1				//返回从0到-1下标区间元素,也即所有元素
    lindex key index			//获取指定下标的元素
    rpush key v1 v2 v3 ...		//将一个或多个value依次放入列表表尾
    lpop key					//移除并返回表头元素
    rpop key					//移除并返回表尾元素
    llen key					//获取列表长度
    lrem key count value		//count大于0时从列表左侧移除count个值为value的值,count大于0时从右侧移除,count等于0时移除所有值为value的值
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    集合类型操作

    单key-多无序value

    一个key对应多个无顺序的value,并且value不能重复,无下标。

    sadd key v1 v2 v3 ...			//将一个或多个value添加到集合中,重复的值无法被加入,返回成功添加进集合的元素个数
    smembers key					//获取集合中所有值
    sismember key value				//判断值是否存在于集合中,存在返回1,否则返回0
    scard key						//获取集合的长度
    srem key v1 v2 ...				//移除集合中一个或者多个元素,不存在则忽略,返回成功移除的元素个数
    srandmember key					//随机获取集合中一个元素
    srandmember key count			//随机获取count个元素,count大于0则不重复,count小于0则可能重复
    spop key count					//随机从集合中移除count个元素
    smove key1 key2 value			//将集合key1中的值移动到集合key2中
    sdiff key1 key2 key3 ...		//获取key1中有,但其它集合中没有的元素
    sinter key1 key2 key3 ...		//获取所有集合中都有的元素,即求交集
    sunion key1 key2 key3 ...		//获取所以集合中所有不重复元素的集合,即求并集
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    哈希类型操作

    单key-多个哈希键值,哈希键值为string类型的键值映射表

    适合存储对象

    hset key field1 value1 field2 value2 ...	//将一个或多个哈希键值对加入哈希表中,重复会覆盖
    hsetnx key field value		//添加一对哈希键值,若field存在则放弃添加
    hset student name zhangsan id 001
    hget key field			//获取哈希表中指定field键对应的值
    hmset key field1 value1 field2 value2 ...	//批量添加多个哈希键值,相当于hset
    hmget key field1 field2 ...					//批量获取多个对应键的哈希值
    hgetall key									//一次获取所有哈希键值
    hdel key field1 field2 ...			//删除一个或多个field
    hlen key			//获取哈希表的长度
    hexist key field 	//判断哈希表中某个field是否存在,存在返回1,否则返回0
    hkeys key			//获取哈希表中所有field列表
    hvals key			//获取哈希表中所有值列表
    hincrby key field number	//对哈希表中某个键对应的值进行加number操作
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    有序集合操作

    zset和set一样都为string类型的集合,不能重复,zset每个元素对应一个分数,分数可以为整数或者浮点数,根据分数进行自动排序,分数可以重复,元素无法重复。

    有序集合中元素拥有下标,下标排列与列表相同。

    zadd key score1 member1 score2 member2 ... 		//将一个或者多个member及其score加入有序集合中,已存在的会被覆盖
    zrange key startIndex endIndex [withscores]			//获取zset中指定下标区间(闭区间)的元素,[]表示可选,withscores表示同时获取对应分数
    zrangebyscore key minScore maxScore [withscores]	//获取zset中指定分数区间的元素,闭区间。
    zrem key member1 member2 	//移除zset中一个或多个元素
    zcard key					//获取zset中所有元素的个数
    zcount key minScore maxScore 	//获取zset中指定分数区间的元素个数
    zrank key member		//获取zset中指定member的分数排名,从小到大排列,排名从0开始
    zrevrenk key member		//获取zset中指定member的分数排名,从大到小排列,排名从0开始
    zscore key member 		//获取zset中指定member的分数
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
  • 相关阅读:
    Java项目上传GitHub,保姆级教程,必看!
    MindSpore第七期集训营视频回顾
    安装mysql详细教程(windows 10安装mysql详细教程新手必看)
    小林coding笔记
    巧用 API 网关构建大型应用体系架构
    谷粒商城笔记+踩坑(4)——商品服务-品牌管理
    Nacos安装指南
    kubernetesl yaml deploy rancher server
    面试题:说说Java并发运行中的一些安全问题
    【Leetcode】滑动窗口合集
  • 原文地址:https://blog.csdn.net/Arcofcosmos/article/details/126352165