redis数据库和MongoDB数据库基本操作

目录

  • redis
    • string类型数据
      • (1) 设置键值
      • (2) 读取键值
      • (3) 数值类型自增1
      • (4) 数值类型自减1
      • (5) 查看值的长度
    • list类型数据的
      • (1)对列表city插入元素:Shanghai Suzhou Hangzhou
      • (2)将列表city里的头部的元素移除
      • (3) 对一个已存在的列表插入新元素
      • (4)查看list的值长度
    • hash类型数据
      • (1) 设置一个hash表,order表里包括的键值信息有:id:1,customer_name:张三
      • (2) 创建一个hash表,表里的键值批量插入
      • (3) 获取order对应的map的所有key
      • (4) 获取order对应的map的键值数量
      • (5) 获取order表里的id值
    • (1)判断键是不是存在
    • (2)查看键的过期时间
    • (3)遍历链表元素
  • MongoDB
    • 1. 创建一个数据库 名字grade
    • 2. 数据库中创建一个集合名字 class
    • 3. 集合中插入若干数据
      • 查看班级所有人信息
      • 查看班级中年龄为8岁的学生信息
      • 查看年龄大于10岁的学生信息
      • 查看年龄在 4---8岁之间的学生信息
      • 找到年龄为6岁且为男生的学生
      • 找到年龄小于7岁或者大于10岁的学生
      • 找到年龄是8岁或者11岁的学生
      • 找到兴趣爱好有两项的学生
      • 找到兴趣爱好有draw的学生
      • 找到既喜欢画画又喜欢跳舞的学生
      • 找出本班年龄第二大的学生
      • 找到兴趣爱好有两项的学生
      • 将学生按年龄排序找到年龄最大的三个
      • 查看学生的兴趣范围
      • 删除所有 年级大于12或者小于4岁的学生

redis

string类型数据

(1) 设置键值

127.0.0.1:6379[1]> set key1 1
OK	

(2) 读取键值

127.0.0.1:6379[1]> get key1
"1"

(3) 数值类型自增1

127.0.0.1:6379> INCR key1
(integer) 2

127.0.0.1:6379> get key1
"2"
原来的数据1 会变成 2

(4) 数值类型自减1

127.0.0.1:6379> decr key1
(integer) 1

127.0.0.1:6379> get key1
"1"
会减少 1

(5) 查看值的长度

127.0.0.1:6379> strlen key1
(integer) 1
如果不是string类型会报错

list类型数据的

(1)对列表city插入元素:Shanghai Suzhou Hangzhou

127.0.0.1:6379> lpush list1 Shanghai Suzhou Hangzhou
(integer) 3

(2)将列表city里的头部的元素移除

127.0.0.1:6379> lpop list1
"Hangzhou"

(3) 对一个已存在的列表插入新元素

127.0.0.1:6379> rpush list1 askdj
(integer) 3

查看
127.0.0.1:6379> lrange list1 0 -1
1) "Suzhou"
2) "Shanghai"
3) "askdj"

(4)查看list的值长度

127.0.0.1:6379> llen list1
(integer) 3

hash类型数据

(1) 设置一个hash表,order表里包括的键值信息有:id:1,customer_name:张三

127.0.0.1:6379> hmset order id 1 custormer zhang
OK

(2) 创建一个hash表,表里的键值批量插入

127.0.0.1:6379> hmset order a a1 b b1 c c1
OK

(3) 获取order对应的map的所有key

127.0.0.1:6379> hgetall order

(4) 获取order对应的map的键值数量

127.0.0.1:6379> hlen order

(5) 获取order表里的id值

127.0.0.1:6379> hkeys order

(1)判断键是不是存在

127.0.0.1:6379> hexists order a
(integer) 1
1 代表存在

(2)查看键的过期时间

127.0.0.1:6379> ttl order
(integer) -1
-1代表永不过时

(3)遍历链表元素

127.0.0.1:6379> lrange list1 0 -1	
1) "Suzhou"
2) "Shanghai"
3) "askdj"

MongoDB

1. 创建一个数据库 名字grade

use grade

2. 数据库中创建一个集合名字 class

db.createCollection("class")

3. 集合中插入若干数据

插入如下数据:

 db.class.insert({name:'zhang',age;10,sex:'m',hobby:['dance','sing','draw']})
 db.class.insert({name:'zhang',age:10,sex:'m',hobby:['dance','sing','draw']})
 db.class.insert({name:'zhan',age:6,sex:'w',hobby:['sing','draw']})
 db.class.insert({name:'zan',age:16,sex:'w',hobby:['draw']})
 db.class.insert({name:'li',age:5,sex:'m',hobby:['ball','sing','draw']})

查看班级所有人信息

db.class.find()

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

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

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

db.class.find({age:{$gt:10}}).pretty()
pretty() 只是让格式好看,可以不加

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

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

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

db.class.find({age:{$eq:10},sex:"m"})

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

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

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

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

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

找到兴趣爱好有draw的学生

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

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

db.class.find({hobby:{$all:['dance','draw']}})

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

db.class.find().sort({age: -1}).skip(1).limit(1)
-1 代表降序排,skip 1 代表取第二条数据往后的数据,limit 1 代表取出第一条

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

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

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

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

查看学生的兴趣范围

db.class.find({},{_id:0,hobby:1})

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

db.class.deleteMany({$or:[{age:{$gt:12}},{age:{$lt:4}}]})

你可能感兴趣的:(数据库,redis,mongodb)