Redis数据类型及常用命令

一、Redis数据类型

Redis数据类型及常用命令_第1张图片

Redis支持以下几种数据类型:

1. 字符串(String)

字符串是Redis最基本的数据类型,可以存储任何形式的数据,例如文本、数字等。下面是一些常用的字符串操作命令示例:

  • SET key value:设置指定键的值为给定字符串。
    示例:SET name "John"

  • GET key:获取指定键的值。
    示例:GET name

2. 哈希(Hash)

哈希是一种键值对集合,其中每个键都映射到一个值。它适用于存储对象和实体,例如用户信息等。以下是一些常用的哈希操作命令示例:

  • HSET key field value:设置指定键的哈希字段的值。
    示例:HSET user:id name "John"

  • HGET key field:获取指定键的哈希字段的值。
    示例:HGET user:id name

3. 列表(List)

列表是一个按照插入顺序排序的字符串元素集合。可以在列表的两端进行插入和删除操作。以下是一些常用的列表操作命令示例:

  • LPUSH key value [value …]:在列表的左侧插入一个或多个值。
    示例:LPUSH tasks "task1" "task2"

  • LPOP key:从列表的左侧弹出一个值。
    示例:LPOP tasks

4. 集合(Set)

集合是一个无序、唯一元素的集合。可以对集合进行交集、并集和差集等操作。以下是一些常用的集合操作命令示例:

  • SADD key member [member …]:向集合添加一个或多个成员。
    示例:SADD tags "tag1" "tag2"

  • SMEMBERS key:获取集合中的所有成员。
    示例:SMEMBERS tags

5. 有序集合(Sorted Set)

有序集合是一个有序的字符串元素集合,每个元素都与一个浮点数值相关联,称为分数。可以按照分数进行范围查询和排序。以下是一些常用的有序集合操作命令示例:

  • ZADD key score member [score member …]:向有序集合添加一个或多个成员。
    示例:ZADD leaderboard 100 "player1" 200 "player2"

  • ZRANGE key start stop [WITHSCORES]:获取有序集合中指定范围内的成员。
    示例:ZRANGE leaderboard 0 -1 WITHSCORES

二、Redis常用命令 :

更多命令参考Redis中文网:https://www.redis.net.cn/order/

Redis 是一个快速、开源的键值对存储数据库,被广泛应用于缓存、消息队列等场景。以下是一些常见数据类型的操作命令。

(1) 常用命令-字符串类型String操作命令

字符串类型是 Redis 中最简单的数据类型,它可以存储任意类型的数据,比如文本、数字等。下面是一些常用的字符串类型操作命令:

  • SET key value:设置指定 key 的值为 value。
  • GET key:获取指定 key 的值。
  • DEL key:删除指定 key。
  • APPEND key value:将 value 追加到指定 key 的值末尾。
  • STRLEN key:获取指定 key 的值的长度。

示例:

SET name "John"
GET name
DEL name
APPEND greeting "Hello, "
APPEND greeting "World!"
STRLEN greeting

结果:

OK
"John"
(integer) 1
(integer) 13

(2) 常用命令-哈希类型hash操作命令

哈希类型是 Redis 中用于存储键值对的数据结构,它适用于存储对象。下面是一些常用的哈希类型操作命令:

  • HSET key field value:为指定 key 的哈希类型字段 field 设置值为 value。
  • HGET key field:获取指定 key 的哈希类型字段 field 的值。
  • HDEL key field:删除指定 key 的哈希类型字段 field。
  • HGETALL key:获取指定 key 的所有哈希类型字段和对应的值。

示例:

HSET user:1 name "John"
HSET user:1 age 30
HGET user:1 name
HDEL user:1 age
HGETALL user:1

结果:

(integer) 1
(integer) 1
"John"
(integer) 1
1) "name"
2) "John"

(3) 常用命令-列表类型list操作命令

列表类型是 Redis 中用于存储有序元素的数据结构,它允许在列表的两端进行插入和删除操作。下面是一些常用的列表类型操作命令:

  • LPUSH key value:将 value 插入到指定 key 的列表头部。
  • RPUSH key value:将 value 插入到指定 key 的列表尾部。
  • LPOP key:移除并返回指定 key 的列表头部元素。
  • RPOP key:移除并返回指定 key 的列表尾部元素。
  • LRANGE key start stop:获取指定 key 的列表中指定范围内的元素。

示例:

LPUSH fruits "apple"
LPUSH fruits "banana"
RPUSH fruits "orange"
LPOP fruits
RPOP fruits
LRANGE fruits 0 -1

结果:

(integer) 1
(integer) 2
(integer) 3
"banana"
"orange"
1) "banana"
2) "apple"
3) "orange"

(4) 常用命令-集合类型set操作命令

集合类型是 Redis 中用于存储无序、唯一元素的数据结构,它可以进行交集、并集、差集等操作。下面是一些常用的集合类型操作命令:

  • SADD key member [member ...]:将一个或多个 member 添加到指定 key 的集合中。
  • SREM key member [member ...]:从指定 key 的集合中移除一个或多个 member。
  • SMEMBERS key:获取指定 key 的集合中的所有成员。
  • SINTER key [key ...]:计算多个指定 key 的集合的交集。

示例:

SADD tags "redis"
SADD tags "database"
SREM tags "database"
SMEMBERS tags
SADD fruits "apple"
SADD fruits "banana"
SINTER tags fruits

结果:

(integer) 1
(integer) 1
1) "redis"
(integer) 1
(integer) 1
1) "apple"

(5) 常用命令-有序集合类型sorted set操作命令

有序集合类型是 Redis 中用于存储有序元素的数据结构,每个元素都关联着一个分数,通过分数可以对元素进行排序。下面是一些常用的有序集合类型操作命令:

  • ZADD key score member [score member ...]:将一个或多个带有分数的成员添加到指定 key 的有序集合中。
  • ZREM key member [member ...]:从指定 key 的有序集合中移除一个或多个成员。
  • ZRANK key member:获取指定 key 的有序集合中成员的排名。
  • ZREVRANGE key start stop [WITHSCORES]:获取指定 key 的有序集合中指定排名范围内的成员。

示例:

ZADD players 100 "John"
ZADD players 90 "Alice"
ZREM players "Alice"
ZRANK players "John"
ZREVRANGE players 0 -1

结果:

(integer) 1
(integer) 1
(integer) 0
1) "John"

(6) 常用命令-通用命令

  • KEYS pattern:查找满足指定模式的 key。
  • EXISTS key:检查指定 key 是否存在。
  • TYPE key:获取指定 key 的数据类型。
  • TTL key:获取指定 key 的剩余过期时间。
  • EXPIRE key seconds:为指定 key 设置过期时间。
  • PERSIST key:移除指定 key 的过期时间,使其永久有效。
  • RENAME key newkey:将指定 key 重命名为 newkey。
  • INCR key:将指定 key 的值加 1。
  • DECR key:将指定 key 的值减 1。

示例:

KEYS user:*
EXISTS user:1
TYPE user:1
TTL user:1
EXPIRE user:1 3600
PERSIST user:1
RENAME user:1 user:new
INCR counter
DECR counter

结果:

1) "user:1"
(integer) 1
"hash"
(integer) -1
(integer) 1
(integer) 0
(integer) 1
(integer) -1

你可能感兴趣的:(技术文章,redis,数据库,缓存)