目录
[string、list、hash 数据类型](#string、list、hash 数据类型)
[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 *
"city"
"number"
"order"
"s1"
"a"
"ss"
"name"
(3)127.0.0.1:6379> ttl name
(integer) -1 * -1表示没设置超时时间
(4)127.0.0.1:6379> scan 0
"0"
- "a"
"number"
"ss"
"city"
"order"
"s1"
"name"
举例说明list和hash的应用场景,每个至少一个场景
Hash:可以作为购物车,其中用户id作为key,商品id作为field,商品数量作为value。
List:微博消息和微信公众号消息
mongodb作业
1. 创建一个数据库 名字grade
- 数据库中创建一个集合名字 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. 增加、更新、删除、统计
- 将小红的年龄变为8岁 兴趣爱好变为 跳舞 画画
- 追加小明兴趣爱好 唱歌
- 小王兴趣爱好增加 吹牛 打篮球
- 小李增加爱好,跑步和唱歌,但是不要和以前的重复
- 该班所有同学年龄加1
- 删除小明的sex属性
- 删除小李兴趣中的第一项
- 将小红兴趣中的画画爱好删除
增加分数域 score:{'chinese':88,'english':78,'math':98}
按照性别分组统计每组人数
按照姓名分组,过滤出有重名的同学
统计每名男生的语文成绩
将女生按照英语分数降序排列