redis 和mongodb基础操作练习

news2024/11/14 2:30:19

目录

redis作业

string、list、hash 数据类型

举例说明list和hash的应用场景,每个至少一个场景

mongodb作业

1. 创建一个数据库 名字grade 

2. 数据库中创建一个集合名字 class

3. 集合中插入若干数据 文档格式如下

4. 查找

5. 增加、更新、删除、统计

redis作业

string、list、hash 数据类型

string list hash结构中,每个至少完成5个命令,包含插入修改删除查询,list和hash还需要增加遍历的操作命令

(1)127.0.0.1:6379> set ss 1
        OK
(2)127.0.0.1:6379> get ss
        "1"

(3)127.0.0.1:6379> incr ss
        (integer) 2
        127.0.0.1:6379> get ss
        "2"

(4)127.0.0.1:6379> decr ss
        (integer) 1
        127.0.0.1:6379> get ss
        "1"

(5)127.0.0.1:6379> set a qwert
        OK
        127.0.0.1:6379> strlen a
        (integer) 5

(1)127.0.0.1:6379> lpush city Shanghai Suzhou Hangzhou
        (integer) 3

(2)127.0.0.1:6379> lpop city
        "Hangzhou"

(3)127.0.0.1:6379> lpush name hehe haha xixi
        (integer) 3
        127.0.0.1:6379> lpush number 34 45 56
        (integer) 3

        127.0.0.1:6379> rpoplpush name number
        "hehe"

(4)127.0.0.1:6379> rpush name hihi
        (integer) 3

(5)127.0.0.1:6379> llen name
        (integer) 3‘

 (1)127.0.0.1:6379> hmset order id 1 customer_name "张三"
        OK

        127.0.0.1:6379> hmset customer_name "张三"

        127.0.0.1:6379> hgetall order
        id
        1
        customer_name
        张三

                * 获取字段值时,中文“张三”显示二位进制数,解决:进入redis 时,加上参数--raw (redis-cli --raw),但是没有双引号

(2)127.0.0.1:6379> hmset order2 id 2 customer_name 李四
        OK

(3)127.0.0.1:6379> hkeys order
        id
        customer_name

(4)127.0.0.1:6379> hlen order
        2

(5)127.0.0.1:6379> hmget order id
        1

(1)127.0.0.1:6379> exists name
        (integer) 1

(2)127.0.0.1:6379> keys *
        1) "city"
        2) "number"
        3) "order"
        4) "s1"
        5) "a"
        6) "ss"
        7) "name"

(3)127.0.0.1:6379> ttl name
        (integer) -1   * -1表示没设置超时时间

(4)127.0.0.1:6379> scan 0
1) "0"
2) 1) "a"
   2) "number"
   3) "ss"
   4) "city"
   5) "order"
   6) "s1"
   7) "name"

举例说明list和hash的应用场景,每个至少一个场景

Hash:可以作为购物车,其中用户id作为key,商品id作为field,商品数量作为value。
List:微博消息和微信公众号消息

mongodb作业

1. 创建一个数据库 名字grade 

2. 数据库中创建一个集合名字 class

3. 集合中插入若干数据 文档格式如下

{name:'zhang',age;10,sex:'m',hobby:['a','b','c']}


hobby: 'draw','sing','dance','basketball','football','pingpong','computer'

4. 查找

查看班级所有人信息


查看班级中年龄为8岁的学生信息


查看年龄大于10岁的学生信息


查看年龄在 4---8岁之间的学生信息 


找到年龄为6岁且为男生的学生

        *没有这条记录

找到年龄小于7岁或者大于10岁的学生


找到年龄是8岁或者11岁的学生


找到兴趣爱好有两项的学生


找到兴趣爱好有draw的学生


找到既喜欢画画又喜欢跳舞的学生


统计爱好有三项的学生人数


找出本班年龄第二大的学生


查看学生的兴趣范围


将学生按年龄排序找到年龄最大的三个


删除所有 年级大于12或者小于4岁的学生

5. 增加、更新、删除、统计

1. 将小红的年龄变为8岁 兴趣爱好变为 跳舞 画画


2. 追加小明兴趣爱好  唱歌


3. 小王兴趣爱好增加  吹牛 打篮球


4. 小李增加爱好,跑步和唱歌,但是不要和以前的重复


5. 该班所有同学年龄加1


6. 删除小明的sex属性


7. 删除小李兴趣中的第一项


8. 将小红兴趣中的画画爱好删除


增加分数域 score:{'chinese':88,'english':78,'math':98}


1. 按照性别分组统计每组人数


2. 按照姓名分组,过滤出有重名的同学


3. 统计每名男生的语文成绩


4. 将女生按照英语分数降序排列

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/758980.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【电路原理学习笔记】第3章:欧姆定律:3.1 电压、电流与电阻的关系

第3章:欧姆定律 3.1 电压、电流与电阻的关系 欧姆定律指出:电流与电压成正比,与电阻成反比。即 I V R I\frac{V}{R} IRV​ 3.1.1 电压与电流之间的线性关系 数学上,线性指的是变量之间的关系在图形上是一条直线。线性方程所对…

数据结构与算法——希尔排序(引例、希尔增量序列、原始希尔排序、代码、时间复杂度、Hibbard增量序列、Sedgewick增量序列)

目录 引例 希尔增量序列 原始希尔排序 代码(C语言) 时间复杂度 更多增量序列 Hibbard增量序列 Sedgewick增量序列 希尔排序(by Donald Shell) 引例 给以下序列进行排序: 先以5的间隔进行插入排序&#xff1a…

自学数据结构和算法(5)

二叉树的遍历 分为先序、中序、和后序遍历。 这三种遍历都可以由递归序来得到: (1)先序遍历(也是二叉树的深度优先遍历)是第一次到某个结点才打印; (2)中序遍历是第二次到某个结…

【ACM】—蓝桥杯大一暑期集训Day3

🚀欢迎来到本文🚀 🍉个人简介:陈童学哦,目前正在学习C/C、Java、算法等方向,一个正在慢慢前行的普通人。 🏀系列专栏:陈童学的日记 💡其他专栏:CSTL&#xff…

PCL 获取点集中距离最近的两个点(二维)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 给定一个平面上n个点的点集,问题是找出点集中最近的点对。这个问题经常出现在许多应用程序中,例如,在空中交通管制中,监视靠得太近的飞机,因为这可能发生碰撞。这里实现一种方式来获取这两个点,具体计算过程如…

换零钱II:零钱面值动态变化,class方法自动兑换最少零钱(贪心算法)

银行现存零钱面值种类动态变化但数量无限,类方法change()完成指定金额的最少零钱个数兑换。 (本笔记适合学透python基本数据结构,熟悉class的基构造,对类内全局变量有一定认的 coder 翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xff1…

C++并发编程(4):共享数据的问题、使用互斥量保护共享数据、死锁

在线程间共享数据 参考博客 线程间共享数据——使用互斥量保护共享数据 [c11]多线程编程(四)——死锁(Dead Lock) c多线程之死锁 C 死锁及解决办法 共享数据的问题 设想你有一段时间和朋友合租公寓,公寓只有一个厨房和一个浴室。除非你们的感情格外深厚&#xff0…

KBQA项目-基于豆瓣电影TOP250数据的知识图谱对话机器人

从今天开始,我们要一起来学习一个新的课程,叫做《基于豆瓣电影TOP250数据的知识图谱对话机器人》,同时,这个课程也是「知识图谱」系列的第一个项目。 项目演示 课程内容 1、爬取数据:使用reqests库,结合b…

贝莱德CEO再谈比特币ETF:客户需求让我们进军加密市场

来源:CNBC 编译:WEEX Exchang 「进军加密货币领域符合这家资产管理巨头更广泛的使命,即为投资者创造易用且低成本的产品。」贝莱德 CEO Larry Fink 周五(7 月 14 日)在 CNBC 「街谈巷议」(Squawk on the St…

Java 设计模式——装饰者模式

目录 1.概述2.结构3.案例实现3.1.抽象组件3.2.具体组件3.3.抽象装饰3.4.具体装饰3.5.测试 4.优缺点5.使用场景6.JDK 源码解析——BufferedWriter7.装饰者模式和静态代理的比较 1.概述 (1)我们先来看一个快餐店的例子:快餐店有炒面、炒饭这些…

PCB板框评估及叠层设计

PCB板框评估及叠层设计 板框评估叠层设计 板框评估 首先选中所有器件,点击下图指令 在PCB中画一个矩形框,所有器件将会排列在这个框中 快捷键 E O S 重新定义原点 选择机械1层,快捷键P L 画出大致的板框,板框画好之后&#x…

全网最详细4W字Flink入门笔记(下)

本文已收录至Github,推荐阅读 👉 Java随想录 文章目录 Flink State状态CheckPoint & SavePointCheckPoint原理SavePoint原理 StateBackend状态后端MemoryStateBackendFsStateBackendRocksDBStateBackend集群级配置StateBackend Window滚动窗口&#…

从小白到大神之路之学习运维第61天--------Ansible自动化运维工具(playbook配置文件深入了解)

第三阶段基础 时 间:2023年7月14日 参加人:全班人员 内 容: playbook配置文件 目录 playbook配置文件 一、playbook配置文件概念 修改hosts文件 建立playbook配置文件 yml脚本写法注释: 二、Playbook的核心元素 三、…

【动手学深度学习】--06.暂退法Dropout

文章目录 暂退法(Dropout)1.原理1.1动机1.2无偏差的加入噪音1.3使用丢弃法1.4推理中的丢弃法 2.从零实现Dropout2.1定义模型参数2.2定义模型2.3训练和测试 3.简洁实现 暂退法(Dropout) 学习视频:丢弃法【动手学深度学习v2】 官方笔记:暂退法&#xff0…

vue+canvas图片裁切

vuecanvas图片裁切 头像的裁切、图片的一些处理…… vue:路由router、vuex状态管理 组件效果 组件代码: 实现思路 盒子即一张画布,把选择的图片放到画布中进行裁切,按照canvas的一些语法裁切一部分内容。 有一个固定大小的画布&am…

字节有点飘了,现在阿里员工跳槽字节不受待见

上一篇:对不起,实在扛不住了。。。 字节现在厉害了,不愧为宇宙第一大厂。 阿里员工现在跳槽字节被鄙视,阿里经历竟然是减分项。 据某互联网大厂HR发文透漏:现在阿里跳字节真的不受待见,背景是负加成。 他举…

JVM内存结构——前言

前提 1. 认识JVM,什么是JVM 简单来说,就是java程序的运行环境(java二进制字节码的运行环境) 1.1 JVM (java虚拟机)的好处 : 一次编写,到处运行的机制 (因为java语言是跨…

【SQL应知应会】表分区(三)• MySQL版

欢迎来到爱书不爱输的程序猿的博客, 本博客致力于知识分享,与更多的人进行学习交流 本文收录于SQL应知应会专栏,本专栏主要用于记录对于数据库的一些学习,有基础也有进阶,有MySQL也有Oracle 分区表 • MySQL版 前言一、分区表1.非分区表2.分区…

OSS对象存储后端实现+Vue实现图片上传【基于若依管理系统开发】

文章目录 基本介绍术语介绍图片上传方式介绍普通上传用户直传应用服务器签名后直传 OSS对象存储后端实现maven配置文件配置类ServiceController 图片上传前端图片上传组件api页面使用组件组件效果 基本介绍 术语介绍 Bucket(存储空间):用于…

基于linux下的高并发服务器开发(第一章)- Linux系统IO函数

05 / Linux系统IO函数 (1)man 2 open >>打开一个已经存在的文件 int open(const char *pathname, int flags); 参数: pathname:要打开文件路径 - flags:对文件的操作权限设置还有其他的设置 O_RDONLY,O_WRONLY,O_RDWR 这三个设置是互斥…