缓存和nosql数据库知识
文章平均质量分 70
7*24 工作者
走自己的路,让别人说去吧
展开
-
Centos7 上安装 redis-dump 和redis-load 命令
redis-dump和redis-load命令安装原创 2023-08-01 15:37:48 · 2030 阅读 · 1 评论 -
云数据库核心集群索引优化实践
mongdb数据库优化翻译 2022-09-08 15:43:28 · 241 阅读 · 0 评论 -
Shell命令行执行Redis批量操作
一、批量删除Redis的key$ redis-cli -h ip地址 -p 端口 -a '密码' -n 库号 keys "mobile:sys:user:unionId*" | xargs redis-cli -h ip地址 -p 端口 -a '密码' -n 库号 del二、批量修改Redis中key的过期时间1、redis中设置过期时间命令expire <key> <ttl> 命令用于将键key 的生存时间设置为ttl 秒。pexpire <key> <原创 2020-12-18 13:53:08 · 3321 阅读 · 3 评论 -
MongoDB 慢查询优化
一、MongoDB 慢查询(Profiling)级别说明0:关闭,不收集任何慢查询数据,默认为01:收集慢查询数据,默认是100毫秒2:收集所有数据1、开启和设置慢查询① 修改配置文件(mongo.conf)开启Profiling#开启慢查询,200毫秒的记录profile = 1slowms = 200② mongoshell来进行临时性打开启Profiling##登录数据库mongo --host 127.0.0.1:27017 --username 户名 --password原创 2020-11-18 16:09:26 · 1848 阅读 · 0 评论 -
spring连接redis,隔一段时间断开
问题描述:spring连接redis,隔一段时间断开,重启服务后就又好了1、修改监听队列的大小#默认为128,128限制了接收新 TCP 连接侦听队列的大小net.core.somaxconn = 20482、修改内存分配策略#修改overcommit_memory,它的值有0、1、2#0,表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。#1,表示内核允许分配所有的物理内存,而不管当前的内存状态如何。#2,表原创 2020-09-25 12:55:50 · 3020 阅读 · 1 评论 -
MongoDB Pipeline
pipeline 对mongodb的collection进行运算,筛选,截取,排序操作。一、pipeline 格式pipeline = [ {$project:?}, {$match:?}, {$group:?}, {$sort :?}, {$limit:?}, {$skip :?}, {$unwind:?}, {$redact:?}, {$sample:?...原创 2020-03-25 12:58:00 · 3920 阅读 · 0 评论 -
排查MongoDB CPU使用率高的问题
一、分析MongoDB数据库正在执行的请求执行db.currentOp()命令,查看数据库当前正在执行的操作。命令的输出示例如下:{ "desc" : "conn632530", "threadId" : "140298196924160", "connectionId" : 632530, "client" : "11.192....转载 2020-02-14 11:08:35 · 2259 阅读 · 0 评论 -
flask通过Flask-PyMongo操作mongo数据库
MongoDB 是一个开源的数据库,它存储着灵活的类-JSON 的“文档”。与关系数据库中的数据行相反,它能够存储任何的数字,名称,或者复杂的层级结构。Python 开发者可以考虑把 MongoDB 作为一个持久化,可搜索的 Python 字典的“仓库”(实际上,这是如何用 PyMongo 来表示 MongoDB 中的“文档”)。Flask-PyMongo 架起来 Flask 和 PyMongo...原创 2020-01-07 09:34:30 · 6749 阅读 · 0 评论 -
Redis哨兵(Sentinel)模式
Redis主从切换技术的方法是:当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力,还会造成一段时间内服务不可用。这不是一种推荐的方式,更多时候,我们优先考虑哨兵模式。一、哨兵模式概述哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个独立的进程,作为进程,它会独立运行。1、工作原理哨兵通过发送命令,等待Redis服务器响应,从而监控运行的多...翻译 2019-12-13 15:49:38 · 585 阅读 · 0 评论 -
MONOGO 索引
一、explain(),语句分析工具MongoDB 3.0+的explain有三种模式,分别是:queryPlanner、executionStats、allPlansExecution。现实开发中,常用的是executionStats模式,主要分析这种模式。> db.getCollection('customer').find({"age":{"$lte":2000}}).explai...翻译 2019-09-20 11:39:13 · 721 阅读 · 0 评论 -
谨防索引 seeks 的效率低下
最近线上的一个工单分析服务一直不大稳定,监控平台时不时发出数据库操作超时的告警。 运维兄弟沟通后,发现在每天凌晨1点都会出现若干次的业务操作失败,而数据库监控上并没有发现明显的异常。 在该分析服务的日志中发现了某个数据库操作产生了 SocketTimeou...翻译 2019-09-19 15:59:55 · 383 阅读 · 0 评论 -
MongoDB的监控功能
一、Atlas上的免费服务每个MongoDB Atlas集群都提供监控功能。如果你没有使用Atlas,可以从这里:https://www.mongodb.com/cloud/atlas,获得一个免费的M0级复制集,自行了解我们将要讨论的仪表盘功能。以下是一张指标仪表盘的快照,来自于免费的M0级复制集。在这里我们看到的是来自复制集三个节点的曲线图。在这个实例中,所有活动都发生在第一个主节点。上...翻译 2019-09-19 15:06:35 · 942 阅读 · 0 评论 -
MongoDB聚合功能
聚合是指同时处理多条数据,并对这些数据进行统计计算,最终返回一个统计结果。也就是说,聚合操作是将多个documents进行相关的各种类型的操作,并返回一个计算结果,这个过程就是聚合。 在MongoDB中,支持三种类型的聚合方式:聚合管道、Map-Reduce、简单聚合一、聚合管道聚合管道是指将Documents传入一个多阶段任务的管道中,经过管道中每个阶段的处理最终返回一个针对多个Docume...原创 2019-08-23 12:56:11 · 1143 阅读 · 0 评论 -
使用python实现Mongo批量操作数据
一、数据库连接from pymongo import MongoClient1、有密码db = MongoClient('mongodb://ip:27017').databasedb.authenticate('username',password='password')2、无密码db = MongoClient('mongodb://ip:27017').database二...原创 2019-06-24 13:28:26 · 4370 阅读 · 0 评论 -
MongoDB分片集群部署和监控
一、环境说明1、各个角色的部署情况角色IP端口复制集名称mongos172.21.244.101,172.21.244.102,172.21.244.9427000无config server172.21.244.101,172.21.244.102,172.21.244.9427100repl_configsvr存储节点(shard)172....翻译 2019-05-17 12:16:52 · 1928 阅读 · 0 评论 -
MongoDB数据导入导出以及数据库备份
一、MongoDB数据导入与导出1、导出工具:mongoexportmongoDB中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件。可以通过参数指定导出的数据项,也可以根据指定的条件导出数据。①语法格式mongoexport -d dbname -c collectionname -o file --type json/csv -f fiel...原创 2019-03-12 13:54:33 · 2940 阅读 · 0 评论 -
Redis 高级特性与性能调优
一、数据持久化Redis提供了将数据定期自动持久化至硬盘的能力,包括RDB和AOF两种方案,两种方案分别有其长处和短板,可以配合起来同时运行,确保数据的稳定性。1、必须使用数据持久化吗?Redis的数据持久化机制是可以关闭的。如果你只把Redis作为缓存服务使用,Redis中存储的所有数据都不是该数据的主体而仅仅是同步过来的备份,那么可以关闭Redis的数据持久化机制。但通常来说,仍然建议...翻译 2019-03-08 16:26:06 · 699 阅读 · 0 评论 -
分析redis key的大小
一、bigKeys这是redis-cli自带的一个命令。对整个redis进行扫描,寻找较大的key。例:格式:redis-cli -h 服务端主机名或者IP地址 -p 端口 --bigkeys$ redis-cli -h 192.168.0.112 -p 6379 --bigkeys输出内容:# Scanning the entire keyspace to find biggest...翻译 2019-02-22 09:49:52 · 9580 阅读 · 1 评论 -
memcached的启动脚本
#! /bin/bash## memcached: MemCached Daemon ## chkconfig: - 90 25 # description: MemCached Daemon #### BEGIN INIT INFO# Provides: memcached# Required-Start: $s原创 2017-03-29 16:40:52 · 536 阅读 · 0 评论 -
memcached的深度解析
一、memcached的介绍解决存储的瓶颈要通过前端web应用缓存,例如squid、varnish。cache是读缓存,buffer是写缓存,当磁盘到一定量的时候,会同步到磁盘里面sync命令就是把缓存区的数据同步到磁盘中memcached应用于在动态应用系统中缓存数据库的数据,它通过事先在规划好的内存空间中缓存数据库中的数据,以达到减少数据库的高并发访问。memcached是原创 2017-04-11 09:22:27 · 488 阅读 · 0 评论 -
redis缓存
redis持久服务的特点:1、key-value键值类型存储系统2、支持数据可靠存储3、单进程单线程高性能服务器4、恢复比较慢5、单机qps(秒并发)可以达到10W6、适合小数据高速读写访问redis存储系统优、缺点:1、可以持久化存储数据2、支持每秒10W的读写频率3、支持丰富的数据类型4、所有操作都是原子性的5、支持异机主从复制6、内存管理开销大(低于物理内存的3/5)7、不同命令延迟差别大r...原创 2017-03-29 10:22:47 · 568 阅读 · 0 评论 -
redis的启动脚本
#!/bin/sh# chkconfig: 2345 90 10# description: Redis is a persistent key-value database# Simple Redis init.d script conceived to work on Linux systems# as it does use of the /proc filesyste原创 2017-03-29 16:43:00 · 1117 阅读 · 0 评论 -
memcache客户端操作memcached
memcache和memcached的安装过程我这里就不详细介绍了,我的博客里面有一、启动memcached[root@iZ23hh6yk41Z ~]# /usr/local/bin/memcached -p 11211 -u root -m l6m -c 10240 -d-p 指定监听的端口,默认是11211-l 指定监听的地址,默认本机所有网卡的地址-d demon模式运行在后台运行-m原创 2017-07-07 14:42:31 · 3421 阅读 · 0 评论 -
Redis 集群安装详细步骤
首先要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下: - 127.0.0.1:7000 - 127.0.0.1:7001 - 127.0.0.1:7002 - 127.0.0.1:7003 - 127.0.0.1:7004 - 127.0.0.1:7005一、下载redis。官网下载3.0.0以上版本,之前2.几的版本不支持集群模式原创 2017-10-09 11:47:48 · 515 阅读 · 0 评论 -
Redis主从架构
一、准备 1、修改pidfile 和端口 2、关闭RDB持久化修改持久化文件的保存位置 3、启动Redisredis-server /etc/redis.conf4、使用客户端连接Redisredis-cli二、主从复制(读写分离) redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构.可原创 2017-10-09 13:18:40 · 684 阅读 · 0 评论 -
Redis keys 命令
一、设置key,并获取172.16.9.24:6379> set name tom172.16.9.24:6379> get name二、删除key,该命令用于key存在时删除key172.16.9.24:6379> del name三、序列化key172.16.9.24:6379> dump name四、检查给定 key 是否存在172.16.9.24:6379> exis原创 2018-01-05 11:27:45 · 560 阅读 · 0 评论 -
Java 使用 Redis
前提: 开始在 Java 中使用 Redis 前, 我们需要确保已经安装了redis服务端及Java redis 驱动,且能正常使用 Java。安装 Java redis 驱动 下载驱动包 jedis.jar (https://mvnrepository.com/artifact/redis.clients/jedis) ,下面是下载方法,一般都是下载最新的jar包(jedis...原创 2018-01-05 12:58:09 · 578 阅读 · 0 评论 -
Redis记录慢查询日志功能
一、什么是 slow log Slow log 是 Redis 用来记录查询执行时间的日志系统。 查询执行时间指的是不包括像客户端响应(talking)、发送回复等 IO 操作,而单单是执行一个查询命令所耗费的时间。 另外,slow log 保存在 内存 里面,读写速度非常快,因此你可以放心地使用它,不必担心因为开启 slow log 而损害 Redis 的速度二、设置...原创 2018-03-02 17:47:53 · 2280 阅读 · 0 评论 -
MongoDB安装部署
一、简介MongoDB是一个介于关系数据库和非关系数据库之间的文档数据库,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是 json二进制化 的 Bson对象,因此可以存储比较复杂的数据类型。 二、特点Mongo内部执行引擎为JS解释器,把文档存储成Bson结构,转换为JS对象,并可以通过熟悉的JS语法来操作。 Mongo最大的特点是他支持的查询语言...原创 2018-04-21 13:58:15 · 356 阅读 · 0 评论 -
MongoDB操作指令
一、入门指令1、查看数据库show dbs 查看当前有哪些的数据库use databaseName 进入数据库show tables/collections 查看当前库下的collection2、创建数据库MongoDB 的库是隐式创建,你可以 use 一个不存在的库然后在该库下创建collection,即可创建库3、创建collection(也就是表)db.create...原创 2018-04-21 16:11:51 · 1194 阅读 · 0 评论 -
MongoDB查询表达式
一、比较运算符 运算符 对应到mysql的运算符 $gt > $gte >= $in in $lt < $lte <= $ne != $nin not in $all 无对应项,指数组所有单元匹配都有,用法同$in,$nin语法格式:{列名:{$gt...原创 2018-04-21 17:25:44 · 1016 阅读 · 0 评论 -
django中配置和使用redis缓存 - django-redis
一、自定义连接池 这种方式跟普通py文件操作redis一样,代码如下: views.pyimport redisfrom django.shortcuts import render,HttpResponsefrom utils.redis_pool import POOLdef index(request): conn = redis.Redis(connection_p...翻译 2018-09-09 11:34:07 · 12023 阅读 · 1 评论 -
Python操作Redis
一、基础操作#!/usr/bin/env python#-*- coding:utf-8 -*-import redisredisClient=redis.StrictRedis(host='127.0.0.1',port=6379,db=0,password='test123456') #创建连接redisClient.set('test_redis','Hello Python...原创 2018-09-12 14:59:22 · 493 阅读 · 0 评论 -
memcache部署文档
Memcache的部署文档下载libevent和memcachedcd /usr/local/src/解压路径/usr/local/,并做软连接先安装libevent-2.1.8-stable.tar.gz(./configure && make && make install)再安装 memcached-1.4.35.tar.gz(./configure && make &&原创 2017-03-29 10:13:23 · 480 阅读 · 0 评论