redis,MongoDB数据库基本操作

目录

redis

string类型数据

list类型数据

hash类型数据

MongoDB


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"

(4) 数值类型自减1

127.0.0.1:6379> decr key1
(integer) 1

127.0.0.1:6379> get key1
"1"

(5) 查看值的长度

127.0.0.1:6379> strlen key1
(integer) 1


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 customer_name “张三”
OK

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

127.0.0.1:6379> HMSET order id 1 customer_name “张三” order_date “2023-07-17”
OK

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

127.0.0.1:6379> HKEYS order
1) "id"
2) "customer_name"
3) "order_date"

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

127.0.0.1:6379> HLEN order
(integer) 3

(5) 获取order表里的id值

127.0.0.1:6379> HGET order id
"1"

(1)判断键是不是存在

127.0.0.1:6379> hexists order id
(integer) 1
1表示存在

(2)查看键的过期时间

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

(3)查找满足pattern的keys

KEYS pattern*

(4)遍历链表元素

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


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}}]})

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

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

找到兴趣爱好有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}}]})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一路喝狗狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值