redis数据类型基本操作(list,string,hash,keys相关操作),mongodb(增删改查)

1、 string类型数据的命令操作:
(1) 设置键值:
在这里插入图片描述
(2) 读取键值:
在这里插入图片描述
(3) 数值类型自增1:
在这里插入图片描述
(4) 数值类型自减1:
在这里插入图片描述
(5) 查看值的长度:
在这里插入图片描述
2、 list类型数据的命令操作:
(1)对列表city插入元素:Shanghai Suzhou Hangzhou
在这里插入图片描述
(2)将列表city里的头部的元素移除
在这里插入图片描述
(3)将name列表的尾部元素移除到number列表的头部
在这里插入图片描述
(4) 对一个已存在的列表插入新元素
在这里插入图片描述
redis数据类型基本操作(list,string,hash,keys相关操作),mongodb(增删改查)_第1张图片
(5)查看list的值长度
在这里插入图片描述
3、 hash类型数据的命令操作:
(1) 设置一个hash表,order表里包括的键值信息有:id:1,customer_name:张三
redis数据类型基本操作(list,string,hash,keys相关操作),mongodb(增删改查)_第2张图片
(2) 创建一个hash表,表里的键值批量插入
在这里插入图片描述
(3) 获取order对应的map的所有key
在这里插入图片描述
(4) 获取order对应的map的键值数量
在这里插入图片描述
(5) 获取order表里的id值
在这里插入图片描述
4、Keys相关的命令操作
(1) 查看key是否存在
ps(首先创建了mykey和mykey2再删除了mykey2,用exists判断key是否存在在则为1,不在则为0 )redis数据类型基本操作(list,string,hash,keys相关操作),mongodb(增删改查)_第3张图片
(2) 查找满足pattern的keys
redis数据类型基本操作(list,string,hash,keys相关操作),mongodb(增删改查)_第4张图片
(3) 查看key的超时时间
在这里插入图片描述
(4) 遍历key
redis数据类型基本操作(list,string,hash,keys相关操作),mongodb(增删改查)_第5张图片

作业二:举例说明list和hash的应用场景,每个至少一个场景

  1. 创建一个数据库 名字grade
    在这里插入图片描述
  2. 数据库中创建一个集合名字 class
    在这里插入图片描述
  3. 集合中插入若干数据 文档格式如下
db.class.insert([{name:"zhang",age:10,sex:'m',hobby:['a','b','c']}])
  1. 查找
    查看班级所有人信息
db.class.find()

查看班级中年龄为8岁的学生信息

db.class.find({age:8})

查看年龄大于10岁的学生信息

db.class.find({age:{$gt:10}})

查看年龄在 4—8岁之间的学生信息

db.class.find({age:{$gt:4,$lte:8}})

找到年龄为6岁且为男生的学生

db.class.find({age:6,sex:'m'})

找到年龄小于7岁或者大于10岁的学生

db.class.find({$or:[age:{$lt:7},age:{$gt:10}]})

找到年龄是8岁或者11岁的学生

db.class.find({age:{$in:[8,11]}})

找到兴趣爱好有两项的学生

db.class.find({hobby:{$size:2}})

找到兴趣爱好有draw的学生

db.class.find({hobby:{$size:2}})

找到既喜欢画画又喜欢跳舞的学生

db.class.find({hobby:"draw"})

统计爱好有三项的学生人数

db.class.find({hobby:{$size:3}}).count()

找出本班年龄第二大的学生

db.class.find().sort({age:-1}).skip(1).limit(1)

查看学生的兴趣范围

db.class.distinct('hobby')

将学生按年龄排序找到年龄最大的三个

db.class.find().sort({age:-1}).limit(3)

删除所有 年级大于12或者小于4岁的学生

remove({$or:[{age:{$gt:12}},{age:{$lt:4}}]})
  1. 增加、更新、删除、统计
    将小红的年龄变为8岁 兴趣爱好变为 跳舞 画画
{$set:{age:8,hobby:['dance','draw']}}

追加小明兴趣爱好 唱歌

{$push:{hobby:'sing'}}

小王兴趣爱好增加 吹牛 打篮球

{$pushAll:{hobby:['吹牛','basketball']}}

小李增加爱好,跑步和唱歌,但是不要和以前的重复

{$addToSet:{hobby:{$each:['running','sing']}}}

该班所有同学年龄加1

update({},{$inc:{age:1}},false,true)

删除小明的sex属性

{$unset:{sex:0}}

删除小李兴趣中的第一项

{$pop:{hobby:-1}}

将小红兴趣中的画画爱好删除

{$pull:{hobby:'draw'}}

增加分数域 score:{‘chinese’:88,‘english’:78,‘math’:98}
按照性别分组统计每组人数

aggregate({$group:{_id:'$sex',num:{$sum:1}}})

按照姓名分组,过滤出有重名的同学

aggregate([{$group:{_id:'$name',num:{$sum:1}}},{$match:{num:{$gt:1}}}])

统计每名男生的语文成绩

aggregate([{$match:{sex:'m'}},{$project:{_id:0,name:1,'score.chinese':1}}])

将女生按照英语分数降序排列

aggregate([{$match:{sex:'w'}},{$sort:{'score.english':-1}}])

List的应用场景:论坛评论、消息队列
Hash的应用场景:java里结构化的信息存储,例如用户个人信息(姓名、性别、兴趣爱好)用hash结构存储

你可能感兴趣的:(redis,哈希算法,mongodb)