当前位置:   article > 正文

redis五种数据结构以及一些基本操作

redis五种数据结构以及一些基本操作

Redis 支持五种基本的数据结构,这些数据结构使得 Redis 能够灵活应用于各种场景。

  1. 字符串(Strings)
    • 是 Redis 中最基本的数据类型,可以被理解为简单的 key-value 对,其中 value 是字符串。
    • 字符串类型的数据可以是任何形式,如 JSON、XML 等。
    • 字符串类型是二进制安全的,这意味着 Redis 的字符串可以包含任何数据,包括图片或序列化后的对象。
  1. 散列(Hashes)
    • 散列是一个键值对的集合,其中每个键(field)和值(value)都是字符串类型。
    • 散列非常适合存储对象信息,例如用户信息、商品详情等。
    • 散列类型的 key 是唯一的,但一个 key 下的 field 可以是多个,且每个 field 对应的 value 也可以是不同的数据类型(在 Redis 中仍然是字符串)。
  1. 列表(Lists)
    • 列表是简单的字符串列表,按照插入顺序排序。
    • 列表允许你在列表的两端进行插入(push)和弹出(pop)操作。
    • 列表经常被用于消息队列或栈的实现。
  1. 集合(Sets)
    • 集合是一个无序的字符串集合,自动去重。
    • 集合可以用于实现交集、并集、差集等操作,适合用于数据聚合的场景。
    • 集合的 key 是唯一的,但 value(元素)可以重复(在集合中自动去重)。
  1. 有序集合(Sorted Sets)
    • 有序集合与集合类似,但每个元素都会关联一个分数(score),使得元素可以按分数排序。
    • 有序集合是唯一的,每个元素都是唯一的,但分数可以重复。
    • 有序集合适合用于排行榜、具有优先级队列的实现等场景。

示例

  • 字符串
  1. SET mykey "Hello"
  2. GET mykey
  • 散列
  1. HSET myhash field1 "Hello"
  2. HGET myhash field1
  • 列表
  1. RPUSH mylist "one"
  2. RPUSH mylist "two"
  3. LRANGE mylist 0 -1
  • 集合
  1. SADD myset "Hello"
  2. SADD myset "World"
  3. SMEMBERS myset
  • 有序集合
  1. ZADD mysortedset 1 "one"
  2. ZADD mysortedset 2 "two"
  3. ZRANGE mysortedset 0 -1 WITHSCORES

基本操作

根据提供的Redis数据库参考资料,我将展示如何在不同场景下使用Redis的示例用法。以下是一些关键的Redis使用示例:

1. Redis基本操作

启动Redis服务
sudo service redis start
停止Redis服务
sudo service redis stop
查看Redis进程
ps -ef | grep redis
使用Redis客户端
redis-cli

2. Redis数据类型操作

字符串(Strings)
  1. # 设置键值对
  2. SET mykey "Hello, Redis!"
  3. # 获取键值对
  4. GET mykey
散列(Hashes)
  1. # 设置散列中的一个字段
  2. HSET myhash field1 "Hello"
  3. # 获取散列中的一个字段
  4. HGET myhash field1
  5. # 获取散列中所有字段
  6. HGETALL myhash
列表(Lists)
  1. # 在列表头部添加元素
  2. LPUSH mylist "world"
  3. # 在列表尾部添加元素
  4. RPUSH mylist "hello"
  5. # 获取列表中的所有元素
  6. LRANGE mylist 0 -1
集合(Sets)
  1. # 添加元素到集合
  2. SADD myset "element1"
  3. # 查看集合中所有元素
  4. SMEMBERS myset
  5. # 移除集合中的元素
  6. SREM myset "element1"
有序集合(Sorted Sets)
  1. # 添加带权重的元素到有序集合
  2. ZADD myzset 1 "one"
  3. ZADD myzset 2 "two"
  4. # 获取有序集合中的元素(带排名)
  5. ZRANGE myzset 0 -1 WITHSCORES

3. Redis配置和安全

修改Redis配置文件

编辑Redis配置文件(通常位于/etc/redis/redis.conf/usr/local/redis/redis.conf),修改以下配置项以增加安全性:

  1. # 开启保护模式
  2. protected-mode yes
  3. # 更改默认端口
  4. port 6380
  5. # 设置密码
  6. requirepass mypassword
重启Redis以应用配置
sudo service redis restart
使用密码连接Redis
  1. # 方法1: 先登录后输入密码
  2. redis-cli -p 6380
  3. AUTH mypassword
  4. # 方法2: 命令行直接输入密码(注意安全性)
  5. redis-cli -p 6380 -a mypassword

4. Redis进阶操作

发布/订阅

发布消息

  1. # 订阅者启动订阅
  2. redis-cli -p 6380 -a mypassword SUBSCRIBE mychannel
  3. # 发布者发布消息
  4. redis-cli -p 6380 -a mypassword PUBLISH mychannel "Hello from Redis!"
数据库选择
  1. # 切换到第2个数据库
  2. SELECT 1
查看当前配置
  1. CONFIG GET *
  2. # 或者获取特定配置项
  3. CONFIG GET requirepass
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/982920
推荐阅读
相关标签
  

闽ICP备14008679号