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

相关推荐
大拇指的约定3 分钟前
数据库(MySQL):使用命令从零开始在Navicat创建一个数据库及其数据表(三),单表查询
数据库·mysql·oracle
深山夕照深秋雨mo17 分钟前
在Java中操作Redis
java·开发语言·redis
阳光阿盖尔18 分钟前
redis——哨兵机制
数据库·redis·缓存·主从复制·哨兵
小小娥子18 分钟前
【Redis】Hash类型的常用命令
数据库·spring boot·redis
盒马盒马18 分钟前
Redis:cpp.redis++通用接口
数据库·c++·redis
barbyQAQ34 分钟前
Qt源码阅读——事件循环
开发语言·数据库·qt
银氨溶液38 分钟前
MySql数据引擎InnoDB引起的锁问题
数据库·mysql·面试·求职
IvorySQL1 小时前
济南站活动回顾|IvorySQL中的Oracle XML函数使用示例及技术实现原理
xml·数据库·sql·postgresql·oracle·开源
Data 3172 小时前
Hive数仓操作(十)
大数据·数据库·数据仓库·hive·hadoop
ON.LIN2 小时前
Hadoop大数据入门——Hive-SQL语法大全
大数据·数据库·hive·hadoop·分布式·sql