zoukankan      html  css  js  c++  java
  • redis 学习总结

    一、windows 下安装使用

    1.下载:从github 下载
    
    2.安装:redis-server.exe --service-install redis.windows.conf
    
    3.启动:redis-server.exe --service-start
    
    4.停止:redis-server.exe --service-stop
    
    5.卸载:redis-server.exe --service-uninstall

    二、linux 下安装使用

    1.下载:http://download.redis.io/releases/
    
    2.解压:tar zxf abc.tar.gz -C /usr/local/src/
    
    3.编译:进入目录 执行 make
    
    4.复制 /usr/local/src/redis-6.0.4/src 目录下的redeis-server 以及redis-cli 到/usr/local/redis/ 目录下
    
    5.复制 /usr/local/src/redis-6.0.4 目录下的redis.conf 到 /usr/local/redis/ 目录下
    
    6.修改配置文件redis.conf    参数 :daemonize yes  表示后台启动
    启动 ./redis-server redis.conf
    7.下载客户端:https://pan.baidu.com/s/1QvjG30IV-MJFPTF-oV9nVw 8.安装客户端并启动 连接服务 ./redis-cli -p 6378 指定端口启动 9.设置可远程访问 修改配置文件 参数 bind 127.0.0.1 172.20.2.102

    其他配置如图:

    三、数据持久化

    1、rdb持久化配置:save 900 1 标识900s 有一个增删改操作就保存
    
    rdb 按照规则同步到磁盘,重启后又从磁盘写入内存
    
    2、aof 持久化配置:默认不开启,修改 appendonly no 为yes 同步规则配置:  appendfsync everysec(每秒同步一次)always (每次操作都同步)
    
    aof 是将操作的命令都写入日志文件,重启时又重新执行这些操作命令

    四、常用操作命令

    1、清除所有数据:flushall
    
    2、清除当前数据库数据:flushdb
    
    3、选择数据库:select 1 为选择第一个数据库
    
    4、del key 删除key
    
    5、exists key  是否存在key
    
    6、expire key 为key 设置一个过期时间
    
    7、ttl key  查询key剩余的时间
    
    8、type key 查询key 的数据类型
    
    9、keys 模糊查找 符合指定模式的key
    
    10、mset a1 v a2 v2 a3 v3 批量设置
    
    11、incr  key  计数器,执行一次+1
    
    12、incrby key number 指定步数加
    
    13、decr key 减一
    
    14、decrby key number 减去指定步数
    
     链表list
    
    15、lpush key value 插入队列头部
    
    16、lpop key 将队列头部值移除
    
    17、blpop key 5 阻塞将队列头部值移除,超过时间后结束 相当于后进后出
    
    18、rpush key value 插入队列尾部
    
    19、rpop key 将队列尾部值移除
    
    20、brpop key 5 阻塞将队列尾部值移除,超过时间后结束,相当于后进先出
    
    21、lrange key start stop 从头到尾列出值
    
    集合set
    
    22、sadd key v1 v2 v3 向集合添加成员
    
    23、smembers key 查看集合中的成员
    
    24、sinter key1 key 2 求集合的交集
    
    25、sunion key1 key2 求集合的并集
    
    26、sdiff key1 key2 求集合的差集,key1中独有
    
    hash 哈希 对象
    
    27、hset 10001 name zhangsan 设置id=10001 的name=张三
    
     28、hmset 10001 name zhangsan age 14 sex 男  批量设置对象属性
    
    29、hget 10001 name  获取对象属性
    
    30 hmget 10001 nage age sex 批量获取属性

    五、redis 主从复制

    1、搭建一主三从服务
    2
    、实现原理:主redis 实现增删改操作,从redis 实现查询操作,从redis 定时从主redis 拉去数据 3、优点:实现读写分离、负载均衡,提高编发量 ;数据备份到从服务器 4、缺点“:难以扩容,知识复制,数据没有强一致性 5、具体实现(1)从、usr/local/redis/下分别拷贝三分 redis-server redis-cli redis.conf 分别作为三个从服务器       (2)分别修改三分配置文件redis.conf ,端口号分别为6381,6382,6383       (3)分别修改三分配置文件 redis.conf ,修改 replicaof 127.0.0.1 6379 为主redis 的ip和端口       (4)配置完成后可以配置从redis 只读

    六、redis 集群

    1、实现原理:为了解决redis 写入或更新频繁超过15万的qps,ridis 规定有16384个哈希槽,存入数据时就计算key的crc16算法并取模16384,得出的结果属于那些哈希槽范围就存入那个redis服务(每个redis在创建集群时就规定了一个hash 范围)
    
    2、实现原理图
    
    3、具体实现配置
    
    (1)拷贝三分redis.conf redis-server 到不同目录
    
    (2)分别修改配置文件,端口号和 cluster-enabled yes  以及 cluster-config-file nodes-7000.conf
    
    (3)分别启动三台服务器 ,查看 ps -A |grep redis-server
    
    (4)将三台服务器创建集群环境,redis-cli --cluster create 127.0.0.1:7000  127.0.0.1:7001 127.0.0.1:7002
    
    (5) 按照集群方式启动任意服务器 ./redis-cli -c -p 7000
    
    (6) 总结:存放时按照key计算后属于那台服务器而存入那台服务器,获取时再计算ket 后再指定服务器获取key,集群环境自动切换

  • 相关阅读:
    jquery easyui-datagrid手动增加删除重置行
    jsp中一行多条数据情况
    JQuery操作下拉框
    解决juqery easyui combobox只能选择问题
    oracle中WMSYS.WM_CONCAT函数的版本差异
    oracle wm_concat(column)函数的使用
    Javascript九大排序算法详解
    C#和VB新版本的最新特性列表
    Oracle中如何区别用户和模式
    远程控制数据库实用SQL重启功能
  • 原文地址:https://www.cnblogs.com/lufei33180/p/13059944.html
Copyright © 2011-2022 走看看