redis 和mongodb基础操作练习

目录

redis作业

[string、list、hash 数据类型](#string、list、hash 数据类型)

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

mongodb作业

[1. 创建一个数据库 名字grade](#1. 创建一个数据库 名字grade)

[2. 数据库中创建一个集合名字 class](#2. 数据库中创建一个集合名字 class)

[3. 集合中插入若干数据 文档格式如下](#3. 集合中插入若干数据 文档格式如下)

[4. 查找](#4. 查找)

[5. 增加、更新、删除、统计](#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"

    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
  1. 数据库中创建一个集合名字 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岁 兴趣爱好变为 跳舞 画画
  1. 追加小明兴趣爱好 唱歌
  1. 小王兴趣爱好增加 吹牛 打篮球
  1. 小李增加爱好,跑步和唱歌,但是不要和以前的重复
  1. 该班所有同学年龄加1
  1. 删除小明的sex属性
  1. 删除小李兴趣中的第一项
  1. 将小红兴趣中的画画爱好删除

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

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

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

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

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

相关推荐
2401_831501731 小时前
Linux之Zabbix分布式监控篇(二)
数据库·分布式·zabbix
秋林辉2 小时前
Jfinal+SQLite处理 sqlite数据库执行FIND_IN_SET报错
jvm·数据库·sqlite
巴里巴气5 小时前
MongoDB复杂查询 聚合框架
数据库·mongodb
scheduleTTe8 小时前
SQL增查
数据库·sql
浮生带你学Java8 小时前
2025Java面试题及答案整理( 2025年 7 月最新版,持续更新)
java·开发语言·数据库·面试·职场和发展
期待のcode9 小时前
图片上传实现
java·前端·javascript·数据库·servlet·交互
小毛驴8509 小时前
redis 如何持久化
数据库·redis·缓存
吗喽1543451889 小时前
用python实现自动化布尔盲注
数据库·python·自动化
hbrown9 小时前
Flask+LayUI开发手记(十一):选项集合的数据库扩展类
前端·数据库·python·layui
云资源服务商12 小时前
探索阿里云DMS:解锁高效数据管理新姿势
数据库·阿里云·oracle·云计算