• NoSQL之redis~简单部署redis+普通优化


    RDBMS:(关系型数据库管理系统)

      --按照预先设置的组织结构,将数据存储在物理介质上

      --数据之间可以做关联操作

    主流软件有:

      MySQL

      MariaDB

      Oracle

      SQL Server

    NoSQL(NoSQL = Not Only SQL)

      --泛指非关系型数据库

      --不需要预先定义数据存储结构

      --每条记录可以有不同的数据类型和字段个数

    NoSQL主流软件

      --Memcached

      --MongoDB

      --CouchDB

      --Neo4j

      --FlockDB

    部署Redis

    ***Redis

      --Remote Dictionary Server(远程字典服务器)

      --是一款高性能的(Key/Values)分布式内存数据库

      --支持数据持久化(定期把内存里数据存储到硬盘)

      --支持多种数据类型stringlisthash

      --支持master-slave模式数据备份

      --中文网站www.redis.cn

    软件安装

    rpm -q gcc || yum -y install gcc
    
    解包 tar -xf redis-...tar.gz
    
    cd redis
    
    make && make install

    初始化配置
    ./utils/install_server.sh
    端口   6379
    主配置文件 /etc/log/redis_6379.log
    日志文件 /var/log/redis/redis_6379.log
    数据库目录 /var/lib/redis/6379
    服务启动程序 /usr/local/bin/redis-server
    命令行连接命令 /usr/local/bin/redis-cli

    服务管理

    停止服务 /etc/init.d/redis_6379 stop
    启动服务 /etc/init.d/redis_6379 start
    查看进程 ps -C redis-server
    查看端口 netstat -nutlp | grep :6379

    连接服务

    ]# redis-cli       //进入redis
    >ping
    >set name lisi    //存储数据
    >get name         //取数据   
    >exit                 //断开连接

    常用命令

    set key名  key值 存储单个值
    mset  key名 key名.... 存储多个值
    get  key名 获取单个值
    mget  key名  key名 获取多个值
    select  数据库编号0~15 切换库
    keys  * 显示所有key名
    keys  a? 显示指定key名
    exists   key名 测试key名是否存在
    ttl  key名 查看key生存时间
    type  key名 查看key类型
    move  key名  库编号 移动key到指定库
    expire  key名  数字 设置key的有效时间
    del  key名 删除指定的key
    flushall 删除内存里所有key
    flushdb 删除所在库的所有key
    save 保存所有key到硬盘
    shutdown 停止服务

    配置文件解析

    常用配置:

    port 端口
    bind 127.0.0.1 ip地址
    daemonize  yes 守护进程方向运行
    databases  16 数据库个数
    logfile  /var/log/redis_6379.log 日志文件
    maxclients  10000 并发连接数量
    /var/lib/redis/6379 数据库目录

    内存管理

    清除内存策略:

    volatile-lru 最近最少使用(正对设置ttl的key)
    allkeys-lru 删除最少使用的key(正对所有的key)
    allkeys-lfu 从所有key中清楚使用频率最少的key
    volatile-lfu 从所有配置了过期时间的key中清除使用频率最少的key
    volatile-random 在设置ttl的key里随机移除
    allkeys-random 随机移除key
    volatile-ttl 移动最近过期的key
    noeviction 不删除

    内存管理

    优化设置

    maxmemory 最大内存
    maxmemory-policy 定义使用策略
    maxmemory-samples 选取key模板的个数(针对lru于ttl策略)
  • 相关阅读:
    力扣(LeetCode)67. 二进制求和
    力扣(LeetCode) 66. 加一
    力扣(LeetCode)58. 最后一个单词的长度
    力扣(LeetCode)1009. 十进制整数的反码
    力扣(LeetCode) 20. 有效的括号
    力扣(LeetCode)1016. 子串能表示从 1 到 N 数字的二进制串
    数据库索引
    OSI 七层和五层
    ST算法
    F
  • 原文地址:https://www.cnblogs.com/ahaocloud/p/14716192.html
Copyright © 2020-2023  润新知