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

相关推荐
4***72138 分钟前
【玩转全栈】----Django模板语法、请求与响应
数据库·python·django
c***42108 分钟前
Django视图与URLs路由详解
数据库·django·sqlite
数据库学啊11 分钟前
团队小希望运维简单,时序数据库选型有什么推荐?
运维·数据库·时序数据库
2***65631 小时前
数据库操作与数据管理——Rust 与 SQLite 的集成
数据库·rust·sqlite
V***u4531 小时前
如何查看PostgreSQL的版本
数据库·postgresql
倔强的石头_1 小时前
openGauss向量数据库:赋能智能制造的工业AI实践
数据库
口嗨农民工2 小时前
3.2 mysql客户端和服务器的启动与停止
数据库·mysql
itmrl2 小时前
Redis高可用方案之哨兵模式搭建
redis
e***19353 小时前
【SqlServer】SQL Server Management Studio (SSMS) 下载、安装、配置使用及卸载——保姆级教程
数据库·sqlserver