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

相关推荐
我是一只小青蛙8886 小时前
Python实战:Kingbase数据库高效操作指南
数据库·oracle
龙亘川6 小时前
【课程5.7】代码编写:违建处置指标计算(违建发现率、整改率SQL实现)
数据库·oracle·智慧城市·一网统管平台
松涛和鸣7 小时前
55、ARM与IMX6ULL入门
c语言·arm开发·数据库·单片机·sqlite·html
这儿有一堆花7 小时前
Linux 内网环境构建与配置深度解析
linux·数据库·php
Codeking__7 小时前
Redis——事务
数据库·redis·缓存
Codeking__7 小时前
Redis——认识持久化、RDB、AOF
数据库·redis·缓存
Funky_oaNiu7 小时前
Oracle在没有dba权限和表空间对不上和不能用数据泵的情况下迁移
数据库·oracle·dba
阳光九叶草LXGZXJ7 小时前
达梦数据库-报错-06-[-502]OUT OF TEMPORARY DATABASE SPACE(临时表空间不足)
linux·运维·数据库·sql·学习
+VX:Fegn08957 小时前
计算机毕业设计|基于springboot + vue校园跑腿系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
黎陌MLing7 小时前
PVE安装Ubuntu操作系统详细过程
linux·数据库·ubuntu