推荐系统-Task02数据库基本使用

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介: MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

一、Mysql数据库


Mysql安装参考:


最新版MySQL 8.0.22(Windows 64位)下载安装详细方法_AStackhouze的博客-CSDN博客
最新版MySQL 8.0.22(Windows 64-bit)下载安装详细方法前言一、MySQL 8.0.22官网下载二、设置环境变量三、创建初始化文件mysql.ini三、对MySQL进行初始化总结前言前几天下载安装了最新版的MySQL 8.0.22,遇到了不少问题,参考了一些方法,最终得以解决。今天将自己的安装过程记录下来,希望对各位有所帮助。一、MySQL 8.0.22官网下载点击进入MySQL官网:https://www.mysql.com/① 点击DOWNLOADS② 向下翻,
https://blog.csdn.net/qq_44040327/article/details/110420405

基础理论知识可参考我的这篇:


Mysql_GoAl的博客-CSDN博客
一、为什么用自增列作为主键1、如果我们定义了主键(PRIMARY KEY),那么InnoDB会选择主键作为聚集索引。如果没有显式定义主键,则InnoDB会选择第一个不包含有NULL值的唯一索引作为主键索引。如果也没有这样的唯一索引,则InnoDB会选择内置6字节长的ROWID作为隐含的聚集索引(ROWID随着行记录的写入而主键递增,这个ROWID不像ORACLE的ROWID那样可引用,是隐含的)。2、数据记录本身被存于主索引(一颗B+Tree)的叶子节点上,这就要求同一个叶子节点内(大小为一
https://blog.csdn.net/qq_36816848/article/details/113107552

Pymysql


使用pymsql库可以实现python直接连接mysql数据库,进行数据增删改查操作。


连接数据库


import pymysql
# 这里登陆到我之前创建的admin账户
db = pymysql.connect(
   host='localhost',
   user='root',
   password='123456',
   database='shop',                
   charset='utf8mb4',
   cursorclass=pymysql.cursors.DictCursor
)
Copy to clipboardErrorCopied

创建游标,可指定游标的类型(Cursor:元组类型,DictCursor:字典类型,SSCursor:无缓冲元组类型,SSDictCursor:无缓冲字典类型)


# 创建游标
cursor = db.cursor()
更详细操作可参考:mysql之pymsql的使用 - dawn-liu - 博客园


二、Mongodb


MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。


在高负载的情况下,添加更多的节点,可以保证服务器性能。


MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。


MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。


相关学习资料:MongoDB 教程 | 菜鸟教程


三、Redis数据库


数据库的基本操作

切换库:select index,默认16个库(0~15)

删除库的数据:flushdb

删除所有库数据:flushall

查看key的个数:dbsize

Key的操作

查找符合模板的Key:key pattern

查找存在key的数量:exists key or [key...]

设置过期时间:expire key seconds

查看key的类型:type key

删除key:del key or [key...]

字符串操作

设置key:SET key value [EX seconds] [PX milliseconds] [NX|XX]

返回与key相关的字符串值:get key

追加字符串值:append key_name new_value

自增:incr key_name

自减:decr key_name

返回字符串值得长度:strlen key_name

根据偏移量offset用value覆盖字符串值:setrang key offset value

返回字符串的字串:getrang key start end

设置多个key-value:mset key value [key value ...]

返回多个指定key的value:mget key [key ...]

列表操作

一个或多个值插入到列表key 的头部:lpush key value [value ...]

向key中的列表尾部插入指定的值:rpush key value [value ...]

返回列表中指定区间内的元素(闭区间),区间以偏移量start和end指定:lrange key start end

返回列表key里索引index位置存储的元素:lindex key index

用于返回存储在key中的列表长度:llen key

从列表key中删除前count个值等于element的元素:lrem key count value

设置列表key中index位置的元素值为element:lset key index value

将element插入到列表key的前面或后面:linsert key before|after pivot value

哈希表操作

将存储在key中的哈希表的field字段赋值value:hset key field value

返回哈希表中指定字段field的值:hget key field

将多个field-value设置到哈希表中:hmset key field value [field value ...]

返回存储在key中的哈希表中所有的字段和值:getall key

删除哈希表 key 中的一个或多个指定字段:hdel key field [field ...]

查看哈希表的指定字段field是否存在:hexists key field

返回存储在key中哈希表的所有字段:hkeys key

返回哈希表所有字段field的值:hvals key

集合操作

将一个或多个成员元素加入到集合中:sadd key member [member ...]

返回存储在key中集合的所有成员:smembers key

判断元素member是否集合key的成员:sismember key member

返回集合中元素的数量:scard key

在集合中删除指定的元素:srem key member [member ...]

返回含有 count 个不同的元素的数组:srandmember key [count]

从集合key中删除并返回一个或多个随机元素:spop key [count]

项目数据库总结:

MySQL数据库:用于存储结构化数据,包括用户信息和用户阅读日志

MongoDB数据库:用于存储爬取到的新浪新闻数据,以及画像数据(用户画像、新闻特征画像、备份前端展示的新闻画像)

Redis内存数据库:用于存储变化快的数据,主要存储新闻动态画像数据(即用户对新闻的行为数据)、热门页列表数据、推荐页列表数据、用户曝光表、新闻详情信息


相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
NoSQL 关系型数据库 MySQL
Linux平台下安装部署MongoDB数据库及基本使用(1)
Linux平台下安装部署MongoDB数据库及基本使用(1)
459 0
|
关系型数据库 MySQL Linux
CentOS7 MySQL 数据库基本使用
CentOS7 MySQL 数据库基本使用
850 0
CentOS7 MySQL 数据库基本使用
|
4月前
|
搜索推荐 前端开发 算法
基于用户画像及协同过滤算法的音乐推荐系统,采用Django框架、bootstrap前端,MySQL数据库
本文介绍了一个基于用户画像和协同过滤算法的音乐推荐系统,使用Django框架、Bootstrap前端和MySQL数据库构建,旨在为用户提供个性化的音乐推荐服务,提高推荐准确性和用户满意度。
280 7
基于用户画像及协同过滤算法的音乐推荐系统,采用Django框架、bootstrap前端,MySQL数据库
|
7月前
|
搜索推荐 算法 Java
电影推荐|基于SSM+vue的电影推荐系统的设计与实现(源码+数据库+文档)
电影推荐|基于SSM+vue的电影推荐系统的设计与实现(源码+数据库+文档)
134 3
|
7月前
|
搜索推荐 JavaScript 小程序
外卖推荐|基于SSM+vue的外卖推荐系统的设计与实现(源码+数据库+文档)
外卖推荐|基于SSM+vue的外卖推荐系统的设计与实现(源码+数据库+文档)
81 1
|
7月前
|
小程序 搜索推荐 JavaScript
美食推荐|美食推荐小程序|基于微信小程序的美食推荐系统设计与实现(源码+数据库+文档)
美食推荐|美食推荐小程序|基于微信小程序的美食推荐系统设计与实现(源码+数据库+文档)
127 1
|
NoSQL MongoDB 数据库
Mongodb数据库的基本使用
Mongodb数据库的基本使用
239 1
|
算法 搜索推荐 关系型数据库
|
新零售 搜索推荐 关系型数据库
恭迎万亿级营销(圈人)潇洒的迈入毫秒时代 - 万亿user_tags级实时推荐系统数据库设计
标签 PostgreSQL , 标签 , 推荐系统 , 实时圈人 , 数组 , gin , gist , 索引 , rum , tsvector , tsquery , 万亿 , user , tag , 淘宝 背景 推荐系统是广告营销平台的奶牛,其核心是精准、实时、高效。
6916 1