Redis学习 - 基本数据结构以及用法

基础数据结构

  1. 字符串(Strings):

    • Redis的字符串是二进制安全的,这意味着它们可以包含任何数据,如文本或序列化的二进制数据。
    • 一个字符串键可以存储最大512MB的值。
      常用命令:SET(设置值)、GET(获取值)、INCR(增加值)、DECR(减少值)、APPEND(追加值)、STRLEN(获取长度)。
  2. 哈希(Hashes):

    • 哈希是键值对的集合,类似于Python中的字典。
    • 哈希特别适合存储对象的数据,例如一个用户的属性。
      常用命令:HSET(设置哈希字段的值)、HGET(获取哈希字段的值)、HGETALL(获取所有哈希字段和值)、HDEL(删除哈希字段)。
  3. 列表(Lists):

    • 列表是简单的字符串列表,按插入顺序排序。
    • 你可以从列表的两端推入或弹出元素。
      常用命令:LPUSH(从左侧插入)、RPUSH(从右侧插入)、LPOP(从左侧弹出)、RPOP(从右侧弹出)、LRANGE(获取列表片段)。
  4. 集合(Sets):

    • 集合是无序的字符串集合,不能包含重复的元素。
      适合用于快速查找、删除和添加元素。
      常用命令:SADD(添加元素)、SREM(移除元素)、SMEMBERS(获取所有元素)、SISMEMBER(检查元素是否存在)。
      有序集合(Sorted Sets,或称为ZSets):
    • 有序集合类似于集合,但每个元素都会关联一个分数(score),根据分数进行排序。
      适合排行榜、延迟队列等场景。
      常用命令:ZADD(添加元素并设置分数)、ZRANGE(根据分数范围获取元素)、ZREM(移除元素)、ZSCORE(获取元素的分数)。
  5. 位图(Bitmaps):

    • 位图是对字符串的位操作扩展,适合进行低级别的操作,比如统计。
      常用命令:SETBIT(设置某个位的值)、GETBIT(获取某个位的值)、BITCOUNT(统计位值为1的数量)。
  6. HyperLogLog:

    • 一种用于基数估计的数据结构,可以用于近似地统计独立元素的数量。
      常用命令:PFADD(添加元素)、PFCOUNT(获取估计的基数)。
  7. 地理空间索引(Geospatial Indexes):

    • 用于存储地理位置信息和执行半径查询。
      常用命令:GEOADD(添加地理位置)、GEORADIUS(根据半径查询位置)。

Redis通用命令

  1. KEYS:查看符合模版的所有key,不建议在生产环境设备上使用
  2. DEL:删除一个指定的key
  3. EXISTS:判断key是否存在
  4. EXPIRE:给一个key设置有效期,有效期到期时该key会被自动删除
  5. TTL:查看一个KEY的剩余有效期

Redis对应各数据类型的命令操作

String的常见命令

  • SET :添加或者修改一个已经存在的String类型的键值对
  • GET :根据key获取String类型的value
  • MSET :批量添加多个String类型的键值对
  • MGET :根据多个key批量获取多个String类型的值
  • INCR :让一个整形的ket自增1
  • INCRBY :让一个整形的key自增并指定步长
  • INCRBYFLOAT :让一个浮点数类型的数字自增长
  • SETNX :添加一个String类型的键值对,前提是这个key不存在,否则不执行
  • SETEX:添加一个String类型的键值对,并执行有效期

Hashes的常见命令

  • HSET: 设置哈希表中指定字段的值。
    • HSET key field value
  • HGET: 获取哈希表中指定字段的值。
    • HGET key field
  • HGETALL: 获取哈希表中所有字段和值。
    • HGETALL key
  • HDEL: 删除一个或多个哈希表字段。
    • HDEL key field1 [field2]
  • HEXISTS: 检查哈希表中指定字段是否存在。
    • HEXISTS key field
  • HLEN: 获取哈希表中字段的数量。
    • HLEN key
  • HKEYS: 获取哈希表中的所有字段名。
    • HKEYS key
  • HVALS: 获取哈希表中的所有值。
    • HVALS key
  • HMSET: 设置多个字段的值。
    • HMSET key field1 value1 field2 value2 ...
  • HMGET: 获取多个字段的值。
    • HMGET key field1 [field2 ...]

Lists的常见命令

  • LPUSH: 将一个值或多个值插入到列表的左侧。
    • LPUSH key value1 [value2]
  • RPUSH: 将一个值或多个值插入到列表的右侧。
    • RPUSH key value1 [value2]
  • LPOP: 移除并返回列表的第一个元素。
    • LPOP key
  • RPOP: 移除并返回列表的最后一个元素。
    • RPOP key
  • LRANGE: 获取列表在指定范围内的元素。
    • LRANGE key start stop
  • LLEN: 获取列表的长度。
    • LLEN key
  • LREM: 移除列表中与指定值相等的元素。
    • LREM key count value
  • LINDEX: 获取列表中指定索引的元素。
    • LINDEX key index
  • LSET: 设置列表中指定索引的元素的值。
    • LSET key index value
  • LTRIM: 修剪列表,使其只包含指定范围内的元素。
    • LTRIM key start stop

Sets的常见命令

  • SADD: 向集合添加一个或多个成员。
    • SADD key member1 [member2]
  • SREM: 移除集合中的一个或多个成员。
    • SREM key member1 [member2]
  • SMEMBERS: 返回集合中的所有成员。
    • SMEMBERS key
  • SISMEMBER: 判断某个值是否是集合的成员。
    • SISMEMBER key member
  • SCARD: 获取集合的成员数。
    • SCARD key
  • SPOP: 移除并返回集合中的一个随机元素。
    • SPOP key
  • SRANDMEMBER: 返回集合中的一个或多个随机成员。
    • SRANDMEMBER key [count]
  • SDIFF: 返回给定集合之间的差集。
    • SDIFF key1 [key2 ...]
  • SINTER: 返回给定集合之间的交集。
    • SINTER key1 [key2 ...]
  • SUNION: 返回给定集合的并集。
    • SUNION key1 [key2 ...]

Sorted Sets的常见命令

  • ZADD: 向有序集合添加一个或多个成员,或更新已存在成员的分数。
    • ZADD key score1 member1 [score2 member2]
  • ZRANGE: 返回有序集中指定区间内的成员。
    • ZRANGE key start stop [WITHSCORES]
  • ZREM: 移除有序集合中的一个或多个成员。
    • ZREM key member1 [member2]
  • ZSCORE: 返回有序集中,成员的分数值。
    • ZSCORE key member
  • ZCARD: 获取有序集合的成员数。
    • ZCARD key
  • ZCOUNT: 返回有序集中,指定分数区间内的成员数量。
    • ZCOUNT key min max
  • ZRANK: 返回有序集中指定成员的排名(从小到大)。
    • ZRANK key member
  • ZREVRANK: 返回有序集中指定成员的排名(从大到小)。
    • ZREVRANK key member
  • ZINCRBY: 有序集合中对指定成员的分数加上增量。
    • ZINCRBY key increment member
  • ZRANGEBYSCORE: 返回有序集中指定分数区间内的成员。
    • ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]

Bitmaps的常见命令

  • SETBIT: 对字符串值的指定偏移量设置或清除位。
    • SETBIT key offset value
  • GETBIT: 返回字符串值的指定偏移量的位。
    • GETBIT key offset
  • BITCOUNT: 计算给定字符串中被设置为1的比特位的数量。
    • BITCOUNT key [start end]
  • BITOP: 对一个或多个保存二进制位的字符串key进行位操作。
    • BITOP operation destkey key1 [key2 ...]
  • BITPOS: 返回第一个设置为1或0的位的位置。
    • BITPOS key bit [start] [end]

HyperLogLog的常见命令

  • PFADD: 向HyperLogLog添加指定元素。
    • PFADD key element1 [element2 ...]
  • PFCOUNT: 返回给定HyperLogLog的基数估计值。
    • PFCOUNT key [key ...]
  • PFMERGE: 将多个HyperLogLog合并为一个。
    • PFMERGE destkey sourcekey [sourcekey ...]

Geospatial Indexes的常见命令

  • GEOADD: 将指定的地理空间位置(经度、纬度、名字)添加到指定的key中。
    • GEOADD key longitude latitude member
  • GEOPOS: 返回一个或多个地理位置元素的经度和纬度。
    • GEOPOS key member1 [member2 ...]
  • GEODIST: 返回两个给定位置之间的距离。
    • GEODIST key member1 member2 [unit]
  • GEORADIUS: 返回指定范围内的地理位置集合。
    • GEORADIUS key longitude latitude radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC]
  • GEORADIUSBYMEMBER: 返回成员位置指定范围内的地理位置集合。
    • GEORADIUSBYMEMBER key member radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC]

这些命令涵盖了Redis的主要数据结构和通用操作,可以有效地使用Redis进行各种数据存储和处理任务。

  • 15
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值