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. 将女生按照英语分数降序排列

相关推荐
Ai 编码助手1 小时前
MySQL中distinct与group by之间的性能进行比较
数据库·mysql
陈燚_重生之又为程序员2 小时前
基于梧桐数据库的实时数据分析解决方案
数据库·数据挖掘·数据分析
caridle2 小时前
教程:使用 InterBase Express 访问数据库(五):TIBTransaction
java·数据库·express
白云如幻2 小时前
MySQL排序查询
数据库·mysql
萧鼎2 小时前
Python并发编程库:Asyncio的异步编程实战
开发语言·数据库·python·异步
^velpro^2 小时前
数据库连接池的创建
java·开发语言·数据库
荒川之神2 小时前
ORACLE _11G_R2_ASM 常用命令
数据库·oracle
IT培训中心-竺老师2 小时前
Oracle 23AI创建示例库
数据库·oracle
小白学大数据2 小时前
JavaScript重定向对网络爬虫的影响及处理
开发语言·javascript·数据库·爬虫
time never ceases3 小时前
使用docker方式进行Oracle数据库的物理迁移(helowin/oracle_11g)
数据库·docker·oracle