学习node.js 十 redis的基本语法

redis

Redis(Remote Dictionary Server)是一个开源的内存数据结构存储系统,它提供了一个高效的键值存储解决方案,并支持多种数据结构,如字符串(Strings)、哈希(Hashes)、列表(Lists)、集合(Sets)和有序集合(Sorted Sets)等。它被广泛应用于缓存、消息队列、实时统计等场景。

以下是一些关键特性和用途介绍:

  1. 内存存储:Redis主要将数据存储在内存中,因此具有快速的读写性能。它可以持久化数据到磁盘,以便在重新启动后恢复数据。
  2. 多种数据结构:Redis不仅仅是一个简单的键值存储,它支持多种数据结构,如字符串、哈希、列表、集合和有序集合。这些数据结构使得Redis能够更灵活地存储和操作数据。
  3. 发布/订阅:Redis支持发布/订阅模式,允许多个客户端订阅一个或多个频道,以接收实时发布的消息。这使得Redis可以用作实时消息系统。
  4. 事务支持:Redis支持事务,可以将多个命令打包成一个原子操作执行,确保这些命令要么全部执行成功,要么全部失败。
  5. 持久化:Redis提供了两种持久化数据的方式:RDB(Redis Database)和AOF(Append Only File)。RDB是将数据以快照形式保存到磁盘,而AOF是将每个写操作追加到文件中。这些机制可以确保数据在意外宕机或重启后的持久性。
  6. 高可用性:Redis支持主从复制和Sentinel哨兵机制。通过主从复制,可以创建多个Redis实例的副本,以提高读取性能和容错能力。Sentinel是一个用于监控和自动故障转移的系统,它可以在主节点宕机时自动将从节点提升为主节点。
  7. 缓存:由于Redis具有快速的读写性能和灵活的数据结构,它被广泛用作缓存层。它可以将常用的数据存储在内存中,以加快数据访问速度,减轻后端数据库的负载。
  8. 实时统计:Redis的计数器和有序集合等数据结构使其非常适合实时统计场景。它可以存储和更新计数器,并对有序集合进行排名和范围查询,用于统计和排行榜功能

redis的基本使用

1.字符串的操作

SET key value [NX|XX] [EX seconds] [PX milliseconds] [GET]

介绍:

  • key:要设置的键名。
  • value:要设置的值。
  • NX:可选参数,表示只在键不存在时才设置值。
  • XX:可选参数,表示只在键已经存在时才设置值。
  • EX seconds:可选参数,将键的过期时间设置为指定的秒数。
  • PX milliseconds:可选参数,将键的过期时间设置为指定的毫秒数。
  • GET:可选参数,返回键的旧值。

运用:

  1. 设置键名为 “name”值为“jjs"

    set name "jjs"
    
  2. 设置键名为 “name” 的值为 “John”:

    set name "John" XX
    
  3. 设置键名为 “counter” 的值为 10,并设置过期时间为 60 秒:

     set counter 100 EX 60
    
  4. 只在键名为 “status” 不存在时,设置其值为 “active”:

    set status "active" NX
    
  5. 只在键名为 “score” 已经存在时,将其值设置为 5:

     set score 5 XX
    
  6. 设置键名为 “name” 的值为 “Hello”,并返回旧的值:

    set name "hello" GET
    
  7. 删除键名为 “name” 的键:

    DEL name
    
  8. 批量删除多个键名:

    del a b c
    
  9. 删除不存在的键名,不会报错,返回删除的键数量为 0:

     del not_exist_key
    

执行效果图:

在这里插入图片描述

2. 集合操作

集合(Set)是一种无序且不重复的数据结构,用于存储一组独立的元素。集合中的元素之间没有明确的顺序关系,每个元素在集合中只能出现一次。

运用:

  1. 添加成员到集合:

     sadd mumber "apple"
    
  2. 获取集合中的所有成员:

    smembers mumber
    
  3. 检查成员是否存在于集合中:

     sismember mumber "bule"
    
  4. 从集合中移除成员:

    srem mumber "bule"
    
  5. 获取集合中的成员数量:

    scard mumber
    
  6. 获取随机成员:

    srandmember mumber
    
  7. 求多个集合的并集:

    sunion color mumber
    
  8. 求多个集合的交集:

     sinter color mumber
    
  9. 求多个集合的差集:

    sdiff color mumber
    

执行效果:

在这里插入图片描述

3. 哈希表操作

哈希表(Hash)是一种数据结构,也称为字典、关联数组或映射,用于存储键值对集合。在哈希表中,键和值都是存储的数据项,并通过哈希函数将键映射到特定的存储位置,从而实现快速的数据访问和查找。

运用:

  1. 设置哈希表中的字段值:

    hset obj name "jjs"
    
  2. 获取哈希表中的字段值:

    hget obj name
    
  3. 一次设置多个字段的值:

    hmset obj name "jtt" age 15 email 12412@qq.com
    
  4. 获取多个字段的值:

    hmget obj name age email
    
  5. 获取哈希表中所有字段和值:

     hgetall obj
    
  6. 删除哈希表中的字段

    hdel obj email
    
  7. 检查哈希表中是否存在指定字段:

    hexists obj name
    
  8. 获取哈希表中所有的字段:

     hkeys obj
    
    
  9. 获取哈希表中所有的值:

    hvals obj
    
    
  10. 获取哈希表中字段的数量:

    hlen obj
    

运行效果:

在这里插入图片描述

4. 列表操作

列表(List)是一种有序、可变且可重复的数据结构。在许多编程语言和数据存储系统中,列表是一种常见的数据结构类型,用于存储一组元素

运用:

  1. 添加元素:

    LPUSH key element1 element2 …:将一个或多个元素从列表的左侧插入,即将元素依次插入列表的头部。如果列表不存在,则在执行操作前会自动创建一个新的列表。
    RPUSH key element1 element2 …:将一个或多个元素从列表的右侧插入,即将元素依次插入列表的尾部。如果列表不存在,则在执行操作前会自动创建一个新的列表。

     lpush list 1 2 3
    
  2. 获取元素

    lindex list 4 // 获取列表中指定索引位置的元素
    lrange list 0 -1 // 获取列表中指定范围内的元素
    
  3. 修改元素:

    LSET key index newValue  // 修改列表中指定索引位置的元素的值
    
  4. 删除元素

    LPOP key  // 从列表的左侧移除并返回第一个元素
    RPOP key  // 从列表的右侧移除并返回最后一个元素
    LREM key count value  // 从列表中删除指定数量的指定值元素
    
  5. 获取列表长度

    llen key
    

执行效果:

在这里插入图片描述

  • 9
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一条 Node.js学习路线,供你参考: 1. 开始学习 JavaScript。掌握基本语法和特性,包括变量、数据类型、条件语句、循环语句、函数、对象、数组等。可以通过 W3School 或者 MDN 等网站进行学习。 2. 掌握 Node.js 的基本概念和基础知识。了解 Node.js 的历史、特点、应用场景等,同时学习 Node.js 的模块系统、事件循环、异步编程等基本概念。 3. 学习 Node.js 的核心模块。Node.js 提供了众多内置的模块,如文件系统、HTTP、网络、流等,需要掌握这些模块的使用方法。 4. 掌握 Node.js 的第三方模块。Node.js 生态系统非常丰富,有很多优秀的第三方模块,如 Express、Koa、Socket.io 等,需要学习这些模块的使用方法。 5. 学习数据库操作。Node.js 可以连接多种类型的数据库,如 MySQL、MongoDB、Redis 等,需要掌握数据库的基本操作和连接方法。 6. 学习 Web 开发。使用 Node.js 可以轻松创建 Web 应用程序,需要学习 HTML、CSS、JavaScript 等前端技术,以及 Express、Koa 等 Web 框架的使用方法。 7. 学习安全性。在开发 Web 应用程序时需要注意安全性,如 XSS、CSRF、SQL 注入等,需要掌握一些基本的安全知识和防御方法。 8. 学习性能优化。Node.js 应用程序需要考虑性能问题,如优化代码、减少请求响应时间、减少资源消耗等,需要学习一些性能优化技巧和工具。 9. 学习测试和调试。在开发 Node.js 应用程序时需要进行测试和调试,需要学习一些测试框架和工具,如 Mocha、Chai、SuperTest 等。 10. 学习部署和维护。Node.js 应用程序需要部署到生产环境中,并进行维护和监控,需要学习一些部署和维护技巧和工具,如 PM2、Nginx、Logrotate 等。 以上是 Node.js学习路线,需要不断实践和总结,才能掌握 Node.js 的核心技术和应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值