zoukankan      html  css  js  c++  java
  • reids

    C:Users78204>d:
    
    D:>cd redis
    
    D:
    edis>redis-server.exe
    [13612] 08 Aug 15:47:45.169 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server.exe /path/to/redis.conf
                    _._
               _.-``__ ''-._
          _.-``    `.  `_.  ''-._           Redis 3.0.504 (00000000/0) 64 bit
      .-`` .-```.  ```/    _.,_ ''-._
     (    '      ,       .-`  | `,    )     Running in standalone mode
     |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
     |    `-._   `._    /     _.-'    |     PID: 13612
      `-._    `-._  `-./  _.-'    _.-'
     |`-._`-._    `-.__.-'    _.-'_.-'|
     |    `-._`-._        _.-'_.-'    |           http://redis.io
      `-._    `-._`-.__.-'_.-'    _.-'
     |`-._`-._    `-.__.-'    _.-'_.-'|
     |    `-._`-._        _.-'_.-'    |
      `-._    `-._`-.__.-'_.-'    _.-'
          `-._    `-.__.-'    _.-'
              `-._        _.-'
                  `-.__.-'
    
    [13612] 08 Aug 15:47:45.173 # Server started, Redis version 3.0.504
    [13612] 08 Aug 15:47:45.173 * The server is now ready to accept connections on port 6379
    View Code

     redis-cli.exe -h 127.0.0.1 -p 6379

    1:shell 连接客户端

    C:Users78204>d:
    
    D:>cd redis
    
    D:
    edis>redis-cli
    127.0.0.1:6379>
    View Code

    2:在远程 redis 服务上执行命令,同样我们使用的也是 redis-cli 命令

    $ redis-cli -h host -p port -a password
    
    $redis-cli -h 127.0.0.1 -p 6379 -a "mypass"
    View Code

    3:给键设置过期 单位是秒

    127.0.0.1:6379> expire key88 3
    (integer) 1
                              等待3秒后
    127.0.0.1:6379> exists key88
    (integer) 0
    View Code

    4:获取在哈希表中指定key的所有字段和值

    127.0.0.1:6379> HMSET runoobkey name "redis tutorial" description "redis basic commands for caching" likes 20 visitors 23000
    OK
    127.0.0.1:6379>
    127.0.0.1:6379> HGETALL runoobkey
    1) "name"
    2) "redis tutorial"
    3) "description"
    4) "redis basic commands for caching"
    5) "likes"
    6) "20"
    7) "visitors"
    8) "23000"
    View Code

    5:基数估计 基数:一个集合中不重复的元素

    比如数据集 {1, 3, 5, 7, 5, 7, 8}, 那么这个数据集的基数集为 {1, 3, 5 ,7, 8}, 基数为5。 基数估计就是在误差可接受的范围内,快速计算基数

    如下的例子 基数为3

    127.0.0.1:6379> PFADD runoobkey "redis"
    (integer) 1
    127.0.0.1:6379> PFADD runoobkey "mongodb"
    (integer) 1
    127.0.0.1:6379> PFADD runoobkey "mysql"
    (integer) 1
    127.0.0.1:6379> PFCOUNT runoobkey
    (integer) 3
    View Code

    6:redis发布订阅

    Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。

    Redis 客户端可以订阅任意数量的频道。

    下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:

                     客户端订阅   订阅频道名为 redisChat
    127.0.0.1:6379> subscribe redisChat
    Reading messages... (press Ctrl-C to quit)
    1) "subscribe"
    2) "redisChat"
    3) (integer) 1
    ...光标闪烁等待  当redisChat频道 有消息发送 则在下面直接接收消息显示如下
    1) "message"
    2) "redisChat"
    3) "Hello Redis"
    
    1) "message"
    2) "redisChat"
    3) "Hello Word hahaha"
    View Code

    重新开启个 redis 客户端,然后在同一个频道 redisChat 发布两次消息,订阅者就能接收到消息

                             消息1
    127.0.0.1:6379> publish redisChat "Hello Redis"
    (integer) 1
                             消息2
    127.0.0.1:6379> publish redisChat "Hello Word hahaha"
    (integer) 1
    View Code

    7:redis事务

    单个 Redis 命令的执行是原子性的,但 Redis 没有在事务上增加任何维持原子性的机制,所以 Redis 事务的执行并不是原子性的

    需要注意的是即使事务中的一个命令失败,队列中的所有其他命令都会被处理,Redis不会停止对命令的处理

    redis事务可以理解为一个打包的批量执行脚本,中间某条指令的失败不会导致前面已做指令的回滚,也不会造成后续的指令不做。

    以下是一个事务的例子, 它先以 MULTI 开始一个事务, 然后将多个命令入队到事务中, 最后由 EXEC 命令触发事务, 一并执行事务中的所有命令:

    redis 127.0.0.1:6379> MULTI
    OK
    
    redis 127.0.0.1:6379> SET book-name "Mastering C++ in 21 days"
    QUEUED
    
    redis 127.0.0.1:6379> GET book-name
    QUEUED
    
    redis 127.0.0.1:6379> SADD tag "C++" "Programming" "Mastering Series"
    QUEUED
    
    redis 127.0.0.1:6379> SMEMBERS tag
    QUEUED
    
    redis 127.0.0.1:6379> EXEC
    1) OK
    2) "Mastering C++ in 21 days"
    3) (integer) 3
    4) 1) "Mastering Series"
       2) "C++"
       3) "Programming"
    View Code

    8:数据备份与恢复

    save 命令  或者   bgsave 命令  进行备份

     

    我本地测试的备份文件如下

    恢复数据

    如果需要恢复数据,只需将备份文件 (dump.rdb) 移动到 redis 安装目录并启动服务即可。获取 redis 目录可以使用 CONFIG 命令,如下所示:

    127.0.0.1:6379>
    127.0.0.1:6379> CONFIG GET dir
    1) "dir"
    2) "D:\redis"
    View Code

     9:安全  设置密码

                             查看是否设置了密码
    默认情况下 requirepass 参数是空的,
    这就意味着你无需通过密码验证就可以连接到 redis 服务
    127.0.0.1:6379> CONFIG get requirepass
    1) "requirepass"
    2) ""
                            设置密码  为    1234
    127.0.0.1:6379> config set requirepass "1234"
    OK
        客户端连接 redis 服务就需要密码验证,否则无法执行命令
    127.0.0.1:6379> set k v
    (error) NOAUTH Authentication required.
                         书写密码的命令  auth  密码
    127.0.0.1:6379> auth 1234
    OK
    127.0.0.1:6379>
    127.0.0.1:6379> get mykey
    "abc"
    View Code

    设置好密码后  查看密码 

    127.0.0.1:6379> CONFIG get requirepass
    1) "requirepass"
    2) "1234"

    设置好密码后  redisClient客户端登录 需要密码 不然提示如下

    点击 Server -->add  填写密码

    10:性能测试   进入redis目录  双击标红处的.exe文件

    11:redis 客户端连接最大连接数    config get maxclients

    maxclients 的默认值是 10000,也可以在 redis.conf 中对这个值进行修改

    127.0.0.1:6379> config get maxclients
    1) "maxclients"
    2) "10000"
    View Code

    我们可以在服务启动时设置最大连接数为 900000

    redis-server --maxclients 900000
  • 相关阅读:
    Knowledge point
    Nagios详解(基础、安装、配置文件解析及监控实例)
    配置网络yum源
    springsecurity整合springboot实现简单认证授权
    使用openssl生成rsa密钥对
    springsecurity实现记住我功能
    springsecurity生成图形验证码并校验
    springsecurity开发基于表单的认证--个性化用户认证流程
    springSecurity自定义用户认证逻辑
    关于JWT分析的文章转载
  • 原文地址:https://www.cnblogs.com/s6-b/p/11322809.html
Copyright © 2011-2022 走看看