<数据库>高性能Redis快速入门 | (附Redis常用命令)

本文涉及的产品
云原生内存数据库 Tair,内存型 2GB
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Redis 版,经济版 1GB 1个月
简介: Redis是一个非关系型数据库,也是一个内存数据库(确切一点,可以把它看做内存数据结构服务器, 设计极其精简,如果说在mongo里面还能看到表的影子"集合(collection)",那么redis则是完全放弃了"表"结构,存储数据完全依赖于 五种类型的数据结构;Redis存储数据 的 五种数据结构1.

Redis是一个非关系型数据库,也是一个内存数据库(确切一点,可以把它看做内存数据结构服务器, 设计极其精简,如果说在mongo里面还能看到表的影子"集合(collection)",那么redis则是完全放弃了"表"结构,存储数据完全依赖于 五种类型的数据结构;

Redis存储数据 的 五种数据结构

1. 字符串string

2. 哈希hash

3. 列表list

4. 集合set

5. 有序集合zset

Redis存储数据的五种数据结构

1.基础类型string(最基本)

1.1增set

  • 格式:

    • set 键 值
  • 示例:

    • set Apple iPhone

1.2删del

  • 格式:

    • del 键
  • 示例:

    • del Apple

1.3改set

  • 格式:

    • set 键 值
  • 示例:

    • set Apple iPad

1.4查get

  • 格式:

    • get 键
  • 示例:

    • get Apple

1.5命令

  • 创建键值对并设置过期时间

    • setex

      • 格式:

        • setex 键 失效时间(秒) 值
      • 示例:

        • setex Canon 60 eos70D
  • 同时设置多个键-->值

    • mset

      • 格式:

        • mset 键 值 键 值
  • 同时获取多个键的值

    • mget

      • 示例:

        • mset HHKB Professional2_types Amazon Kindle
  • 同时删除多个键的值

    • del

      • 格式:

        • del 键 键
      • 示例

        • del HHKB Amazon

2. 列表类型list

2.1 增

  • 左侧添加

    • lpush

      • 格式:

        • lpush 键 值1 值2 值3 值4 值5 值6
      • 示例:

        • lpush num 60 50 40 30 20 10
  • 右侧添加

    • rpush

      • 格式:

        • rpush num 值1 值2 值3 值4
      • 示例:

        • rpush num 70 80 90 100
  • 在指定值的 前/后插入数据

      • 格式:

        • linsert key before 现有值 新值
      • 示例:

        • linsert num before 20 15
      • 格式:

        • linsert key after 现有值 新值
      • 示例:

        • linsert num after 20 25

2.2 删

  • lrem

    • 格式:

      • lrem key 0 需要删除的值(这里的0表示删除所有的值, -10 表示从后往前数,符合条件的前十个删除, +5 表示从前往后数, 符合条件的前5个删除)
    • 示例:

      • lrem num 0 20

2.3 改

  • lset

    • 格式:

      • lset 旧值的索引 新的值
    • 示例:

      • lset 1 14

2.4 查

  • lrange

    • 格式:

      • lrange 键 起始索引 终止索引
    • 示例:

      • lrange num 0 -1

3. 无序集合类型set

3.1增sadd

  • 格式:

    • sadd 键 值 值 值
  • 示例:

    • sadd Apple Mac iPhone iPod

3.2删srem(删除集合中某一个元素的值)

  • 格式:

    • srem 键 值
  • 示例:

    • srem Apple Mac

3.3查smembers

  • 格式:

    • smembers 集合的键 集合中的值
  • 示例:

    • srem Apple Mac

4.有序集合类型zset

4.1增zadd

  • 格式:

    • zadd 键 权重1 值1 权重2 值2 权重3 值3
  • 示例:

    • zadd Apple 15000 Mac 7000 iPhone 300 iPod

4.2删zrem

  • 格式:

    • zrem 键 值
  • 示例:

    • zrem Apple Mac

4.3查

  • zrange(按照索引范围取值)

    • 格式:

      • zrange 键 起始索引值 终止索引值
    • 示例:

      • zrange Apple 0 -1
  • zrangebyscore(按照权重范围取值)

    • 格式:

      • zrangebyscore 键 较小的权重 较大的权值
    • 示例:

      • zrangebyscore Apple 2000 8000

5. 对象类型hash(相当于一个小的redis数据库)

5.1增hset

  • 格式:

    • hset 键 属性1的名称 属性1的值 属性2的名称 属性2的值 属性3的名称 属性3的值
  • 示例:

    • hset Phone name iPhone prize 7999 color blank

5.2删hdel

  • 格式:

    • hdel 键 属性1
  • 示例:

    • hdel Phone prize

5.3改hset

  • 格式:

    • hset 键 属性1的名称 属性1的新值
  • 示例:

    • hset Phone name vivo

5.4查

  • hkeys(获取所有属性的值)

    • 格式:

      • hkeys 键
    • 示例:

      • hkeys Phone
  • hget (获取单个属性的值)

    • 格式:

      • hget 键 属性名
    • 示例:

      • hget Phone name

附录:键命令

(常用)查看所有键

  • keys *

根据键中关键字,如查找相关键(包含"zhao"的)

  • keys "zhao"

查看键对应类型

  • type 键名

设置过期时间

  • expire 键名

查看有效时间

  • ttl 键名

删除关联外层类型的键

  • del 键名
Redis常用命令总结
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
10天前
|
SQL Linux 数据库
|
9天前
|
前端开发 NoSQL 数据库
部署常用的流程,可以用后端,连接宝塔,将IP地址修改好,本地只要连接好了,在本地上前后端跑起来,前端能够跑起来,改好了config.js资料,后端修改好数据库和连接redis,本地上跑成功了,再改
部署常用的流程,可以用后端,连接宝塔,将IP地址修改好,本地只要连接好了,在本地上前后端跑起来,前端能够跑起来,改好了config.js资料,后端修改好数据库和连接redis,本地上跑成功了,再改
|
9天前
|
弹性计算 NoSQL 网络安全
软件开发常见之云数据库Redis连接不上如何解决,修改配置后,需要重启下redis服务,配置才能生效呢,是重启,而不是重载配置,最后导致的问题是点击了的重启,配置修改了之后必须点击重启,而不是修改
软件开发常见之云数据库Redis连接不上如何解决,修改配置后,需要重启下redis服务,配置才能生效呢,是重启,而不是重载配置,最后导致的问题是点击了的重启,配置修改了之后必须点击重启,而不是修改
|
2天前
|
存储 消息中间件 NoSQL
Redis 和 数据库区别
【7月更文挑战第12天】
8 0
|
9天前
|
NoSQL Java 关系型数据库
软件开发常用之若依修改之添加数据库,添加redis,利用RDM连接宝塔
软件开发常用之若依修改之添加数据库,添加redis,利用RDM连接宝塔
|
9天前
|
前端开发 JavaScript NoSQL
软件开发常见流程之若依项目修改,前后端本地启动,本地必须有Redis+Navicate启动数据库
软件开发常见流程之若依项目修改,前后端本地启动,本地必须有Redis+Navicate启动数据库
|
9天前
|
NoSQL Java Redis
Redis16-RedisTemplate快速入门,max -idle,min-idle,max-wait,用set的方法,opsForValue().set的方法
Redis16-RedisTemplate快速入门,max -idle,min-idle,max-wait,用set的方法,opsForValue().set的方法
|
9天前
|
Java Redis 数据安全/隐私保护
Redis13的Java客户端-Jedis快速入门,建立连接的写法,ip地址,设置密码密码,选择库的写法
Redis13的Java客户端-Jedis快速入门,建立连接的写法,ip地址,设置密码密码,选择库的写法
|
10天前
|
存储 Java
Redis08命令-Hash类型,也叫散列,其中value是一个无序字典,类似于java的HashMap结构,Hash结构可以将对象中的每个字段独立存储,可以针对每字段做CRUD
Redis08命令-Hash类型,也叫散列,其中value是一个无序字典,类似于java的HashMap结构,Hash结构可以将对象中的每个字段独立存储,可以针对每字段做CRUD
|
10天前
|
存储 NoSQL Redis
Redis07命令-String类型字符串,不管是哪种格式,底层都是字节数组形式存储的,最大空间不超过512m,SET添加,MSET批量添加,INCRBY age 2可以,MSET,INCRSETEX
Redis07命令-String类型字符串,不管是哪种格式,底层都是字节数组形式存储的,最大空间不超过512m,SET添加,MSET批量添加,INCRBY age 2可以,MSET,INCRSETEX