Redis
(1) Instalação e uso concluídos . Conclua a inserção, exclusão e consulta do banco de dados.
Redis
É umkey-value
sistema de armazenamento chave-valor ( ), ou seja, um banco de dados não relacional par chave-valor, eMemcached
similares, que atualmente está sendo adotado por cada vez mais empresas de Internet.Redis
Como um banco de dados de valor-chave de alto desempenho, ele não apenas compensamemcached
em grande parte a deficiência desse tipo de armazenamento de valor-chave, mas também pode desempenhar um papel complementar muito bom para bancos de dados relacionais em algumas ocasiões.Redis
FornecePython
,Ruby
,Erlang
,PHP
clientes, que são muito convenientes de usar.
①Faça login comohadoop
usuárioubuntu kylin
,windows
use o sistema para salvar a transferência do arquivoFileZilla
em formato compactado no diretório e agora descompacte o pacote no .redis-5.0.5.tar.gz
“/home/hadoop/下载”
/usr/local
②Descompacte
redis-5.0.5.tar.gz
o arquivo e salve-o no“/usr/local/”
diretório.
③Renomeie-oredis-5.0.5
pararedis
eredis
dê permissão de diretório aohadoop
usuário.
④Entre“/usr/local/redis”
no diretório, digite compile e installRedis
.
⑤ARedis
instalação foi concluída, agora inicieRedis
o servidor.
⑥Crie um novo terminal e inicieRedis
o cliente. Depois que o cliente se conectar ao servidor,“127.0.0.1:6379>”
as informações do prompt de comando serão exibidas, indicando queIP
o endereço do servidor é127.0.0.1
e a porta é6379
. Agora você pode executar operações simples, como definir a chave para”hello”
o valor”world”
e buscar o valor correspondente”hello”
à . Neste ponto,Redis
a instalação e a operação são bem-sucedidas e, em seguida, o banco de dados pode ser operadoRedis
.
Redis
O banco de dados armazena dados na forma de . Ao<key,value>
armazenar os dados da tabela no banco de dados, o método de determinação da soma é o seguinte :Redis
key
value
* key=表名:主键值:列名
* value=列值
⑦Inserir dados: Para
Redis
inserir um dado, você só precisa projetar a soma primeiro ekey
,value
em seguida, usarset
o comando para inserir os dados. Por exemplo,Course
para inserir um novo curso "Big Data" na tabela, 4 créditos, os comandos de operação e os resultados são mostrados na figura abaixo.
⑧Excluir dados:Redis
Existe um comando especial para excluir dados —del
comando e o formato do comando é "del
chave". Portanto, se você deseja excluir o curso "Big Data" adicionado anteriormente, basta digitar o comando“del Course:8:Cname”
, conforme a figura abaixo, ao inseri-lo“del Course:8:Cname”
, ele retornará“1”
, indicando que um dado foi excluído com sucesso .
⑨Consultar dados:Redis
A maneira mais fácil de consultar é usarget
comandos. Digiteget
a consulta de comando, se a saída estiver vazia, significa que os dados foram excluídos com sucesso.
(2)
MongoDB
Instalação e uso.
MongoDB
Comandos básicos completosshell
.MongoDB
É um banco de dados baseado no armazenamento distribuído de arquivos, entre bancos de dados relacionais e bancos de dados não relacionais, sendo o mais funcional entre os bancos de dados não relacionais e mais semelhante aos bancos de dados relacionais. A estrutura de dados que ele suporta é muito flexível e tem umjson
formato semelhantebson
, portanto, pode armazenar tipos de dados mais complexos.Mongo
A maior característica é que a linguagem de consulta suportada é muito poderosa e sua sintaxe é um pouco semelhante à linguagem de consulta orientada a objetos, que pode quase realizar a maioria das funções semelhantes à consulta de tabela única de banco de dados relacional e também suporta a indexação de dados.
①O usoapt-get
de comandos para instalação onlineMongoDB
pode evitar muitos problemas inexplicáveis.
A linha de comandosudo apt-get install mongodb
pode ser baixada e instaladaMongoDB
. A versão padrão instalada éMongoDB 2.6.10
, masMongoDB
foi atualizada para3.2.8
. Você pode instalar a versão adicionando fontes de software3.2.8
.
a. Primeiro abra o terminal, importe o públicokey
para o gerenciador de pacotes
b. CrieMongoDB
uma lista de arquivos.
c. Atualize o gerenciador de pacotes e instaleMongoDB
.
d.MongoDB
Após a conclusão da instalação, insira o seguinte comando no terminal para visualizarMongoDB
a versão.
②MongoDB
iniciar e parar.
③Entre no modoMongoDB
de comandoshell
. O banco de dados conectado por padrão étest
o banco de dados. Antes disso, verifique se ele foi iniciadoMongoDB
, caso contrário, ocorrerá um erro. Após iniciar, a operação bem-sucedida é a seguinte.
④Comandos de operação comuns
relacionados ao banco de dados
show dbs
: exibir lista de banco de dados
show collections
: exibir coleções no banco de dados atual (semelhante a tabelas em bancos de dados relacionaistable
)
show users
: exibir todos os usuários
use yourDB
: alternar banco de dados atual parayourDB
db.help()
: exibir comandos de operação de banco de dados
db.yourCollection.help()
: exibir comandos de operação de coleção, queyourCollection
é o nome da coleção
MongoDB
Não há comando para criar um banco de dados. Se você deseja criar um“School”
banco de dados, executeuse School
o comando primeiro e, em seguida, faça algumas operações (como: criar uma coleçãodb.createCollection('teacher')
), para poder criar um“School”
banco de dados chamado .
⑤Tomando umSchool
banco de dados como exemplo,School
crie duas coleçõesteacher
e somas no banco de dadosstudent
estudent
execute operações básicas de adição, exclusão, modificação e consulta nos dados da coleção (uma coleçãoCollection
é equivalente a uma tabela em um banco de dados relacionaltable
).
a. Mudar paraSchool
o banco de dados (Mudar paraSchool
o banco de dados.MongoDB
Não há necessidade de pré-criarSchool
o banco de dados, ele será criado automaticamente quando for usado)
b. CriarCollection
(criar uma coleção agregada.MongoDB
De fato, ao inserir dados, o a coleção correspondente também será criada automaticamente, nenhuma coleção predefinida é necessária)
c. Semelhante à criação do banco de dados,MongoDB
as coleções são criadas automaticamente quando os dados são inseridos. Existem duas maneiras de inserir dados:insert
esave
.
Inserir dados com sucesso
_id
Mesmo, atualize os dados
_id
Mesmo, falha na inserção, nenhuma operação.d. A estrutura dos dados adicionados é livre, desde que
json
o formato seja aceitável, os atributos da coluna não sejam fixos e os dados adicionados devem prevalecer. Defina os dados primeiro e depois insira, você pode inserir vários dados de uma só vez.
e.Após executar o exemplo acima,
student
ele foi criado automaticamente, indicando queMongoDB
não precisa ser pré-definido, e será criado automaticamentecollection
após a primeira inserção de dados .collection
⑥ Encontrar dados
a.db.student.find()
Consultar todos os registros. Equivalente a:select * from student
b.
db.student.find({sname: 'zhangsan'})
Consultarsname='zhangsan'
registros. Equivalente a:select * from student where sname='zhangsan'
c.
db.student.find({},{sname:1, sage:1})
Consulte a colunasname
esage
os dados especificados. Equivale a:select sname,sage from student
.
sname
:1 significa retornarsname
a coluna e o_id
campo padrão também é retornado. Pode ser adicionado_id:0
(significa não retornar_id
) para escrever{sname: 1, sage: 1,_id:0}
e o_id
campo padrão não será retornado
d.
db.student.find({sname: 'zhangsan', sage: 22})
and
Consulta com condições. Equivalente a:select * from student where sname = 'zhangsan' and sage = 22
e.
db.student.find({$or: [{sage: 22}, {sage: 25}]})
or
Consulta condicional. Equivalente a:select * from student where sage = 22 or sage = 25
f.:
db.youCollection.find(criteria, filterDisplay) criteria
condição
de consulta, opcionalfilterDisplay
: filtrar e exibir parte dos dados, como exibir dados de coluna especificados, opcional (quando selecionado, o primeiro parâmetro não pode ser omitido, se a condição de consulta estiver vazia, pode ser usada como um espaço reservado{}
)
⑦ As condições de consulta
db.youCollection.update(criteria, objNew, upsert, multi )
criteria: update
para , semelhantes aos objetos por trássql update
da consulta : e alguns operadores de atualização (como ), também podem ser entendidos como o seguinte na consulta . : Se o registro não existir, seja para inseri-lo ou não, o padrão é não inseri-lo. : Por padrão , apenas o primeiro registro encontrado será atualizado.Se este parâmetro for verdadeiro, todos os registros múltiplos detectados de acordo com a condição serão atualizados. Por padrão , apenas os primeiros dados correspondentes são modificados. Onde e são parâmetros obrigatórios e parâmetros opcionais. , que equivale a: ;where
objNew
update
$set
sql update
set
upsert
update
objNew
true
false
multi
mongodb
false
false
criteria
objNew
upsert
multi
db.student.update({sname: 'lisi'}
{$set: {sage: 30}}, false, true)
update student set sage =30 where sname = 'lisi'
⑧Excluir dados
db.student.remove({sname: 'chenliu'})
Equivalente a :delete from student where sname='chenliu'
⑨Excluir coleção
⑩Sair
shell
do modo de comando
Entrarexit
ouCtrl+C
sairshell
do modo de comando
(3) Use
Java API
o parMongoDB
para acessar.①O pacote
Java MongoDB Driver
do driverjar
foi baixado e salvo no’/home/hadoop/下载/’
diretório.
② AbraEclipse
e crie um novoJava Project
.
Importe o pacote do drivermongodb-driver-3.8.0.jar
.
Criar novoClass Average_grade
LimpeAverage_grade.java
o código interno e insira ostudent
código completo para executar as operações de adição, exclusão, modificação e consulta da coleção neste arquivo.
Após a execução do programa,Console
as informações do resultado da execução serão exibidas no painel " " na parte inferior.
Cada vez que o programa é executado, você pode retornar aoshell
modo para visualizar os resultados. Por exemplo: Apóseclipse
realizar a operação de atualização,shell
entre no mododb.student.find()
, você poderá visualizarstudent
todos os dados da coleção.
(4) Como ele é diferente
Redis
dos bancos de dados tradicionaisMysql
?①É
mysql
um banco de dados relacional, usado principalmente para armazenar dados persistentes. Os dados são armazenados no disco rígido e a velocidade de leitura é relativamente lenta.redis
SimNOSQL
, ou seja, um banco de dados não relacional também é um banco de dados cache, ou seja, os dados são armazenados no cache. O cache lê rápido e pode melhorar muito a eficiência operacional, mas o tempo de armazenamento é limitado.
②mysql
Como um banco de dados relacional para armazenamento persistente, o ponto relativamente fraco é que toda vez que uma solicitação é feita para acessar o banco de dados, háI/O
operações, se o banco de dados for acessado repetidamente.
Primeiro: Muito tempo será gasto em conexões repetidas ao banco de dados, resultando em eficiência de operação muito lenta;
Segundo: O acesso repetido ao banco de dados também levará a uma carga excessiva no banco de dados, portanto, o conceito de cache é derivado neste momento .
③O cache é o buffer ( ) para troca de dadoscache
, quando o navegador executar a requisição, ele primeiro irá buscar no cache, e se ele existir irá buscá-lo, caso contrário, ele irá acessar o banco de dados. A vantagem do cache é que a velocidade de leitura é rápida.
④Oredis
banco de dados é um banco de dados de cache, usado para armazenar dados usados com frequência, de modo a reduzir o número de acessos ao banco de dados e melhorar a eficiência operacional.(5)
MongoDB
Quais são as características eMysql
onde está a diferença em relação ao banco de dados?Características:
Mongodb
É um banco de dados não relacional (nosql
), que pertence ao banco de dados de documentos. Um documento émongoDB
a unidade básica de dados em um banco de dados. É semelhante a uma linha em um banco de dados relacional. Vários pares chave-valor são colocados juntos de maneira ordenada para formar um documento. A sintaxe é um pouco semelhante a um documento orientado a objetosjavascript
linguagem de consulta.É um banco de dados de tipo de documento de modo livre e orientado a conjuntos.
Método de armazenamento: memória virtual + persistência. Instrução de consulta: É umMongodb
método de consulta exclusivo. Cenários adequados: gravação de eventos, gerenciamento de conteúdo ou plataforma de blog, etc.
Recursos de arquitetura: Alta disponibilidade pode ser obtida por meio de conjuntos de réplicas e fragmentação.
Processamento de dados: Os dados são armazenados no disco rígido, mas os dados que precisam ser lidos com frequência serão carregados na memória e os dados serão armazenados na memória física para obter leitura e gravação em alta velocidade.
Maturidade e amplitude: Bancos de dados emergentes têm baixa maturidade.Nosql
Entre os bancos de dados, eles estão mais próximos dos bancos de dados relacionais e são relativamente completosDB
. A população aplicável está em constante crescimento.Diferença:
MongoDB
Outra grande desvantagem é que ocupa muito espaço. Ao adicionar,MongoDB
excluir e modificar dados com frequência no banco de dados, se o registro mudar, como mudanças no tamanho dos dados, é provável que alguns fragmentos de dados ocorram neste momento , e a fragmentação causará Como resultado, uma delas é que o índice terá problemas de desempenho.
MySQL
AmbosMongoDB
são bancos de dados de código aberto comuns, masMySQL
são bancos de dados relacionais tradicionais,MongoDB
enquanto bancos de dados não relacionais, também chamados de bancos de dados de documentos, são um tipoNoSQL
de banco de dados. Cada um deles tem suas próprias vantagens, a chave é ver onde eles são usados.SQL
Portanto, as instruções (nome completo ) com as quais estamos familiarizadosStructured Query Language
não são aplicáveisMongoDB
, porqueSQL
as instruções são a linguagem padrão dos bancos de dados relacionais.