首页 > 数据库 >redis命令实践 详细教程

redis命令实践 详细教程

时间:2024-06-08 22:00:23浏览次数:18  
标签:教程 cli redis item1 Redis 实践 key my

Redis是一个高性能的键值对数据库,支持多种数据结构,如字符串、哈希、列表、集合、有序集合等。以下是一份详细的Redis命令实践教程,包括常用命令和示例。

1. 连接Redis服务器

使用redis-cli工具连接到Redis服务器:


redis-cli -h <hostname> -p <port> -a <password>

  • -h:指定Redis服务器的主机名。
  • -p:指定Redis服务器的端口号。
  • -a:指定Redis服务器的密码。

2. 基本数据类型操作

字符串(String)
  • 设置字符串

     

    SET key value

    例子:将字符串"Hello, Redis!"设置为键"my_key"的值。

     

    redis-cli SET my_key "Hello, Redis!"

  • 获取字符串

     

    GET key

    例子:获取键"my_key"的值。

     

    redis-cli GET my_key

  • 删除字符串

     

    DEL key

    例子:删除键"my_key"。

     

    redis-cli DEL my_key

列表(List)
  • 向列表头部添加元素

     

    LPUSH key value

    例子:向列表"my_list"的头部添加元素"item1"。

     

    redis-cli LPUSH my_list "item1"

  • 向列表尾部添加元素

     

    RPUSH key value

    例子:向列表"my_list"的尾部添加元素"item1"。

     

    redis-cli RPUSH my_list "item1"

  • 获取列表元素

     

    LRANGE key start stop

    例子:获取列表"my_list"中索引0到索引-1的所有元素。

     

    redis-cli LRANGE my_list 0 -1

集合(Set)
  • 向集合添加元素

     

    SADD key member

    例子:向集合"my_set"添加元素"item1"。

     

    redis-cli SADD my_set "item1"

  • 获取集合所有成员

     

    SMEMBERS key

    例子:获取集合"my_set"的所有成员。

     

    redis-cli SMEMBERS my_set

  • 移除集合中的元素

     

    SREM key member

    例子:从集合"my_set"中移除元素"item1"。

     

    redis-cli SREM my_set "item1"

有序集合(Sorted Set)
  • 向有序集合添加元素

     

    ZADD key score member

    例子:向有序集合"my_zset"添加元素"item1",分数为1。

     

    redis-cli ZADD my_zset 1 "item1"

  • 获取有序集合的元素

     

    ZRANGE key start stop [WITHSCORES]

    例子:获取有序集合"my_zset"中索引0到索引-1的所有元素及其分数。

     

    redis-cli ZRANGE my_zset 0 -1 WITHSCORES

哈希(Hash)
  • 设置哈希字段的值

     

    HSET key field value

    例子:在哈希"my_hash"中设置字段"name"的值为"Alice"。

     

    redis-cli HSET my_hash name "Alice"

  • 获取哈希字段的值

     

    HGET key field

    例子:获取哈希"my_hash"中字段"name"的值。

     

    redis-cli HGET my_hash name

  • 获取哈希所有字段和值

     

    HGETALL key

    例子:获取哈希"my_hash"中的所有字段和值。

     

    redis-cli HGETALL my_hash

3. 事务

Redis事务可以确保一系列命令的原子性执行。使用MULTI开始事务,然后输入一系列命令,最后使用EXEC执行事务。


MULTI SET key1 value1 SET key2 value2 EXEC

4. 持久化

Redis提供了两种持久化方式:RDB和AOF。

  • RDB持久化:通过SAVEBGSAVE命令创建数据集的时间点快照。

     

    SAVE

  • AOF持久化:记录每个写操作命令,可以通过配置文件中的appendonly yes来开启。

5. 管道

Redis管道(Pipelining)可以一次性发送多个命令,减少网络延迟,提高性能。


PIPELINE SET key1 value1 SET key2 value2 END

6. 发布/订阅

Redis的发布/订阅功能允许客户端订阅消息,当有新消息发布时,所有订阅者都会收到消息。

  • 发布消息

     

    PUBLISH channel message

    例子:向频道"my_channel"发布消息"Hello, Redis!"。

     

    redis-cli PUBLISH my_channel "Hello, Redis!"

  • 订阅频道

     

    SUBSCRIBE channel

    例子:订阅频道"my_channel"。

     

    redis-cli SUBSCRIBE my_channel

7. 监控

使用MONITOR命令可以实时监控Redis服务器的命令执行情况。


MONITOR

结束语

这份教程涵盖了Redis的基本操作、事务处理、持久化、管道技术、发布/订阅模式和监控功能。通过这些命令和示例,您可以开始使用Redis进行数据存储和操作。建议通过实践这些命令来加深对Redis的理解,并探索更多高级特性。

标签:教程,cli,redis,item1,Redis,实践,key,my
From: https://blog.csdn.net/2401_84572204/article/details/139551735

相关文章

  • Redis常见命令
    连接Redis服务器在使用Redis之前,首先需要使用redis-cli工具连接到Redis服务器。redis-cli是Redis的命令行界面工具。redis-cli-h<hostname>-p<port>-a<password>-h:指定Redis服务器的主机名或IP地址。-p:指定Redis服务器的端口,默认为6379。-a:指定Redis服务器的密码,如......
  • 实战 | YOLOv10 自定义数据集训练实现车牌检测 (数据集+训练+预测 保姆级教程)
    导读    本文主要介绍如何使用YOLOv10在自定义数据集训练实现车牌检测(数据集+训练+预测保姆级教程)。  YOLOv10简介  YOLOv10是清华大学研究人员在UltralyticsPython包的基础上,引入了一种新的实时目标检测方法,解决了YOLO以前版本在后处理和模型架构方面的不足......
  • 【建站教程】Ubuntu结合宝塔面板本地部署Inis博客并发布公网
    ......
  • kettle从入门到精通 第六十六课 ETL之kettle kettle阻塞教程,轻松获取最后一行数据,so e
    场景:ETL沟通交流群内有小伙伴反馈,如何在同步一批数据完成之后记录下同步结果呢?或者是调用后续步骤、存储过程、三方接口等。解决:使用步骤Blockingstep进行阻塞处理即可。1、下面的demo演示从表t1同步数据至表t2(t1表中有三条数据,t2为空表,两个表表结构相同),然后数据同步完毕之后进......
  • Springboot 开发 -- Redis实现分布式Session
    一、引言在微服务架构和分布式系统中,会话管理(SessionManagement)成为了一个挑战。传统的基于Servlet容器的会话管理方式在分布式环境下无法有效工作,因为用户请求可能会被分发到不同的服务器上,导致会话数据无法共享。为了解决这个问题,SpringSession提供了一种基于外部存储(......
  • Redis中的主从复制
    分布式系统中的几种Redis部署方式为了解决一个程序只部署在一个服务器上的单点问题:可用性问题,如果这个机器挂了,就意味着服务就中断了一个程序只部署在一台机器上,它的性能/支持的并发量也是有限的所以,就引入了分布式系统。在分布式系统中,往往希望有多个服务器来部署Redis......
  • Redis-10-分布式锁.md
    参考:分布式锁介绍1.概念额,为什么的话,建议先了解下我这篇文章。Java-并发-并发的基本概念我们在并发场景下,区分一个场景是否有并发问题,个人理解,锁的场景需要考虑:共享:是否共享某个资源竞态:如何构建竞态关系首先,我们得拎清楚它到底会不会共享,不是说多线程它就必然要有并发......
  • Electron qt开发教程
    模块安装打包 npminstall-gelectron-forgeelectron-forgeinitmy-project--template=vuenpmstart //进入目录启动//打包成一个目录到out目录下,注意这种打包一般用于调试,并不是用于分发npmrunpackage//打出真正的分发包,放在out\make目录下npmrunmakenpx@......
  • Numba @jitclass:实践、踩雷注意事项
    @jitclass允許定義類並進行JIT編譯。然而,在使用jitclass時,以下是一些重要的注意事項。如果你也在numbajitdebug地狱,希望这个对你有所帮助注意事项设定明确的spec每个class中的var都需要设定,简言之就是使用self.xxx的都要fromnumbaimportjit,int32,float64,......
  • Redis持久化机制:RDB与AOF的原理和最佳实践
    简介A.Redis持久化概念简介 Redis,作为一个高性能的内存键值数据库,其默认操作都是在内存中进行的,这意味着数据的读写速度非常快。然而,由于Redis是基于内存的,所以在服务器宕机或重启的情况下,未经特殊处理的数据将会丢失。为了解决这一问题,Redis提供了持久化功能,以允许数......