Compilación e instalación de Squid y operaciones básicas

Compilación e instalación de Squid y operaciones básicas

Base de datos departamental y base de datos no relacional

Base de datos relacional

一个结构化的数据库,创建在关系模型基础上
一般面向于记录
包括
    Oracle、Mysql、SQL Server、Microsoft Access、DB2等

Base de datos no relacional

除了主流的关系型数据库外的数据库,都认为是非关系型
包括
    Redis、MongoDB、Hbase、CouhDB等

Redis

Introducción

Redis se ejecuta en la memoria y admite la persistencia

Usar formato de almacenamiento clave-valor (par clave-valor)

Ventajas
Velocidad de lectura y escritura de datos muy alta
Admite tipos de datos enriquecidos
Admite la persistencia de datos
Atomicidad
Admite copias de seguridad de datos

redis (servidor de diccionario remoto, servicio de diccionario remoto) es un código abierto escrito en lenguaje ANSI C, cumple con el protocolo BSD, es compatible con la red y puede basarse en una base de datos basada en registros y valores clave con persistencia de memoria, y proporciona API en varios idiomas. . Por lo general, se le llama servidor de estructura porque el valor puede ser una cadena, hash, lista, conjuntos y conjuntos ordenados.

Redis es completamente de código abierto y gratuito, y es una base de datos de valor clave de alto rendimiento.

Características de redis

Redis admite la persistencia de datos. La base de datos en la memoria se puede guardar en el disco y se puede volver a cargar para usarla al reiniciar.

Redis no solo admite datos simples de valor clave, sino que también proporciona almacenamiento para listas, conjuntos, zset, hash y otras estructuras de datos.
Redis admite la copia de seguridad de datos, es decir, la copia de seguridad de datos en modo maestro-esclavo (que se detalla en el siguiente artículo grupo de redis)

La diferencia entre redis y otros pares clave-valor

Redis tiene una estructura de datos más compleja y proporciona operaciones atómicas en ellos, que es una ruta evolutiva diferente a otras bases de datos. Los tipos de datos de redis se basan en estructuras de datos básicas y son transparentes para los programadores sin abstracción adicional.

Redis se ejecuta en la memoria, pero se puede conservar en el disco, por lo que es necesario pesar la memoria al leer y escribir diferentes conjuntos de datos a alta velocidad, porque los datos no pueden ser más grandes que la memoria del hardware. Otra ventaja de la base de datos en memoria es que, en comparación con la misma estructura compleja de datos en el disco, es muy simple de operar en la memoria, por lo que redis puede hacer muchas cosas internamente complejas. Al mismo tiempo, en términos de formato de disco, se producen de forma compacta y adjunta porque no requieren acceso aleatorio.

Instalación e implementación de Redis

操作步骤
    解压软件包
    make && make install
    设置Redis相关配置文件
    查看运行状态
编译安装Redis
[root@localhost ~]# yum -y install gcc gcc-c++ make
[root@localhost ~]# tar zxvf redis-5.0.7.tar.gz -C /opt/
[root@localhost ~]# cd /opt/redis-5.0.7/
[root@localhost redis-5.0.7]# make
[root@localhost redis-5.0.7]# make PREFIX=/usr/local/redis install
[root@localhost redis-5.0.7]# ln -s /usr/local/redis/bin/* /usr/local/bin/
[root@localhost redis-5.0.7]# cd /opt/redis-5.0.7/utils/
[root@localhost utils]# ./install_server.sh 
Welcome to the redis service installer
This script will help you easily set up a running redis server

Please select the redis port for this instance: [6379] 
Selecting default: 6379
Please select the redis config file name [/etc/redis/6379.conf] 
Selected default - /etc/redis/6379.conf
Please select the redis log file name [/var/log/redis_6379.log] 
Selected default - /var/log/redis_6379.log
Please select the data directory for this instance [/var/lib/redis/6379] 
Selected default - /var/lib/redis/6379
Please select the redis executable path [/usr/local/bin/redis-server] 
Selected config:
Port           : 6379
Config file    : /etc/redis/6379.conf
Log file       : /var/log/redis_6379.log
Data dir       : /var/lib/redis/6379
Executable     : /usr/local/bin/redis-server
Cli Executable : /usr/local/bin/redis-cli
Is this ok? Then press ENTER to go on or Ctrl-C to abort.
Copied /tmp/6379.conf => /etc/init.d/redis_6379
Installing service...
Successfully added to chkconfig!
Successfully added to runlevels 345!
Starting Redis server...
Installation successful!
[root@localhost utils]# netstat -lnupt | grep redis
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      15435/redis-server 
[root@localhost utils]# /etc/init.d/redis_6379 start
[root@localhost utils]# /etc/init.d/redis_6379 stop
[root@localhost utils]# /etc/init.d/redis_6379 restart
[root@localhost utils]# /etc/init.d/redis_6379 status
[root@localhost utils]# vim /etc/redis/6379.conf 
  70 bind 127.0.0.1
  93 port 6379
 137 daemonize yes
 159 pidfile /var/run/redis_6379.pid
 167 loglevel notice
 172 logfile /var/log/redis_6379.log

  70 bind 127.0.0.1 192.168.20.10
配置参数
    bind:监听的主机地址
    port:端口
    daemonize yes:启用守护进程
    pidfile:指定PID文件
    loglevel notice:日志级别
    logfile:指定日志文件

Comandos de uso común de la base de datos
Redis Herramienta de línea de comandos Redis-cli

Obtener ayuda de comandos help
@: obtener una lista de comandos
help: obtener ayuda para un comando help: obtener una
lista de temas que pueden ayudar

set: almacenar datos

get: obtener datos

Claves relacionadas con
claves: obtener la lista de valores clave de la regla de símbolo
existe: determinar si el valor clave existe
del: eliminar el
tipo de clave especificado de la base de datos actual : obtener el tipo de valor de la clave correspondiente a
renombrar (sobrescribir) / renamenx (no sobrescribir): para la existente
Cambio de nombre de clave dbsize: vea el número de claves en la base de datos actual
Redis-benchmark test tool

    -h:指定服务器主机名

    -p:指定服务器端口

    -c:指定请求数

    -d:以字节的形式指定set/get值的数据大小

    -q:强制退出Redis,仅显示query/sec值
 [root@localhost utils]# /etc/init.d/redis_6379 restart
[root@localhost utils]# redis-cli -h 192.168.20.10 -p 6379
192.168.20.10:6379> 
[root@localhost utils]# redis-cli 
127.0.0.1:6379> 

192.168.20.10:6379> keys *
(empty list or set)
192.168.20.10:6379> quit

192.168.20.10:6379> help @list

  BLPOP key [key ...] timeout
  summary: Remove and get the first element in a list, or block until one is available
  since: 2.0.0
......

192.168.20.10:6379> help keys

  KEYS pattern
  summary: Find all keys matching the given pattern
  since: 1.0.0
  group: generic

192.168.20.10:6379> set color yellow
OK
192.168.20.10:6379> keys *
1) "color"
192.168.20.10:6379> get color
"yellow"
192.168.20.10:6379> del color
(integer) 1
192.168.20.10:6379> keys per???
1) "person"
192.168.20.10:6379> keys per*
1) "person"
筛选键名模糊查询的时候 可以用* ?通配符
192.168.20.10:6379> type person
string
192.168.20.10:6379> exists person 
(integer) 1
192.168.20.10:6379> exists color
(integer) 0
192.168.20.10:6379> rename person name
OK
192.168.20.10:6379> keys *
1) "name"
192.168.20.10:6379> dbsize
(integer) 1  
[root@localhost utils]# /usr/local/redis/bin/redis-benchmark -h 192.168.20.10 -p 6379 -q -d 100
192.168.20.10:6379> select 3
OK
192.168.20.10:6379[3]> set num 10
OK
192.168.20.10:6379[3]> move num 4
(integer) 1
192.168.20.10:6379[3]> keys *
(empty list or set)
192.168.20.10:6379[3]> select 4
OK
192.168.20.10:6379[4]> keys *
1) "num"
192.168.20.10:6379[4]> get num
"10"

设置hash结构
192.168.20.10:6379> hset person name zhangsan
(integer) 1
192.168.20.10:6379> hset person age 25
(integer) 1
192.168.20.10:6379> hset person score 60
(integer) 1
192.168.20.10:6379> keys *
1) "person"
2) "mylist"
3) "name"
4) "myset:__rand_int__"
5) "key:__rand_int__"
6) "counter:__rand_int__"
192.168.20.10:6379> hget person name
"zhangsan"
192.168.20.10:6379> hget person age
"25"
192.168.20.10:6379> hget person score
"60"


[root@localhost utils]# cd /var/lib/redis/6379/
[root@localhost 6379]# ll
总用量 232
-rw-r--r--. 1 root root 233891 98 17:31 dump.rdb

[root@localhost 6379]# vim /etc/redis/6379.conf      
save 900 1
save 300 10
save 60 10000
dbfilename dump.rdb
dir /var/lib/redis/6379                         
rdbcompression yes

[root@localhost 6379]# vim /etc/redis/6379.conf      
appendonly yes
appendfilename "appendonly.aof"
# appendfsync always
appendfsync everysec
# appendfsync no
aof-load-truncated yes

[root@localhost 6379]# /etc/init.d/redis_6379 restart
[root@localhost 6379]# ll
总用量 232
-rw-r--r--. 1 root root      0 98 18:50 appendonly.aof
-rw-r--r--. 1 root root 233945 98 18:50 dump.rdb

[root@localhost 6379]# redis-cli -h 192.168.20.10 -p 6379
192.168.20.10:6379> info memory
# Memory
used_memory:853320
used_memory_human:833.32K
used_memory_rss:10493952
used_memory_rss_human:10.01M
used_memory_peak:853320
used_memory_peak_human:833.32K
used_memory_peak_perc:100.01%
used_memory_overhead:841094
used_memory_startup:791400
used_memory_dataset:12226
used_memory_dataset_perc:19.74%
allocator_allocated:1661928
allocator_active:2068480
allocator_resident:9187328
total_system_memory:3954188288
total_system_memory_human:3.68G
used_memory_lua:37888
used_memory_lua_human:37.00K
used_memory_scripts:0
used_memory_scripts_human:0B
number_of_cached_scripts:0
maxmemory:0
maxmemory_human:0B
maxmemory_policy:noeviction
allocator_frag_ratio:1.24
allocator_frag_bytes:406552
allocator_rss_ratio:4.44
allocator_rss_bytes:7118848
rss_overhead_ratio:1.14
rss_overhead_bytes:1306624
mem_fragmentation_ratio:12.92
mem_fragmentation_bytes:9681656
mem_not_counted_for_evict:0
mem_replication_backlog:0
mem_clients_slaves:0
mem_clients_normal:49694
mem_aof_buffer:0
mem_allocator:jemalloc-5.1.0
active_defrag_running:0
lazyfree_pending_objects:0

Supongo que te gusta

Origin blog.csdn.net/weixin_46355881/article/details/108559083
Recomendado
Clasificación