请选择 进入手机版 | 继续访问电脑版

赵耀的知识库

 找回密码
 立即注册
搜索
热搜: 报盘 状态 失败
查看: 6767|回复: 0

Redis On Windows 的基本使用

[复制链接]

0

主题

0

帖子

6

积分

等待验证会员

积分
6
发表于 2018-8-24 10:02:26 | 显示全部楼层 |阅读模式
本帖最后由 weikang 于 2018-8-24 10:22 编辑


Redis On Windows 的基本使用
==

> Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。



一、 下载安装
--

> Redis 没有官方的Windows版本,但是微软开源技术团队(Microsoft Open Tech group)开发和维护着这个 Win64 的版本。
> 更多信息请参考 [这里](https://github.com/MicrosoftArchive/redis)。

如图:
![github](./0.github上的Window版本Redis.png)

1. ## 下载 ##

        首先,需要下载Redis基于Windows的版本,即到上文说到的github地址寻找 安装包。
        https://github.com/MicrosoftArchive/redis
        ![Release](./1.在github找Redis的Release发布版本.png)

        在 **Release** 中有已经编译完成的安装包;
![下载](2.下载msi或zip.png)
其中,推荐`Redis-x64-3.2.100.msi`,可以自动安装Redis并启动 Redis 服务;

2. ## 安装 ##

   按提示进行安装:
   ![安装](3.安装Redis'.png)

   可以配置路径和环境变量;
   ![配置路径和环境变量;](4.安装Redis.png)

   安装完成之后可以在Windowsr任务管理器中查看安装好的 Redis服务;
   ![服务](5.Redis服务.png)

   可以看出是使用了 `redis-server.exe` 和 `redis.windows-service.conf` ;
   所以我们在 更改了` redis.windows-service.conf `之后,需要在Redis的服务属性中,`重启动`此服务以加载更改后的配置文件;

二、基本操作
--

1. ## 使用客户端 ##

    我们可以通过 `redis-cli.exe` 操作本地的redis数据库;

    键入 `redis-cli.exe`即可以使用客户端连接到redis的服务器端;

    `PING`:
    使用ping可以简单的测试redis的连通性;
        ```
        CMD> redis-cli.exe -h 127.0.0.1 -p 6379
        127.0.0.1:6379> PING
        PONG
        127.0.0.1:6379>                           
        ```
    这里,参数`-h` 和`-p` 可以省略;

2. ## 配置 ##   

    Redis的配置文件位于Redis安装目录下,文件名为redis.conf;(在Windows环境下,使用redis.windows.conf)
    从Windows的服务面板中可以看到,redis服务默认使用了哪个配置文件:
    `"C:\Program Files\Redis\redis-server.exe" --service-run "C:\Program Files\Redis\redis.windows-service.conf“`

    在Redis_cli.exe 交互程序中,可使用 `CONFIG GET * `查看所有配置;
    键入 `CONFIG GET XXX `可以获取目前对应项的配置;

    ```
    127.0.0.1:6379> CONFIG GET bind
        1) "bind"
        2) "127.0.0.1"
        127.0.0.1:6379> CONFIG GET port
        1) "port"
        2) "6379"
    ```




    键入 `CONFIG SET XXX xxx`可以修改目前对应项的配置;
    ```
    127.0.0.1:6379> CONFIG SET loglevel "notice"
        OK
        127.0.0.1:6379> CONFIG GET loglevel
        1) "loglevel"
        2) "notice"
        ```
        或是通过修改conf文件修改配置;       

    > `databases 16`
    > 默认16个数据库,可以使用select 0~15进行选择

        >  `bind 127.0.0.1`
        >  绑定的主机地址,若不是在本机部署,地址写为0.0.0.0

        >  
        >  `save <seconds> <changes>`
        >  用于持久化存储;指定在多长时间内,有多少次更新操作,就将数据同步到数据文件

        >  `dbfilename dump.rdb`
        >  用于持久化存储;指定本地数据库文件名,默认值为dump.rdb



3. ## 使用 ##   

    在打开redis的服务后,我们可以通过redis-cli.exe操作redis进行数据库存储、MQ等功能;

    ### I. 基本使用: ###

    > 1.`SELECT`
     可以选择不同的数据库,Redis默认有16个;
     ```
     127.0.0.1:6379> select 0          #  选择0号
         OK
         127.0.0.1:6379> select 1
         OK
         127.0.0.1:6379[1]> select 2
         OK
         127.0.0.1:6379[2]> select 15      #  选择15号数据库
         OK
         127.0.0.1:6379[15]>
     ```
    > 2.`SET KEY VALUE`
     赋值
     ```
     127.0.0.1:6379> set key1 value1   #  给key1键设置值为value1
         OK
         127.0.0.1:6379> set key2 value2
         OK
         127.0.0.1:6379> set key3 value3
         OK
     ```
    > 3.`GET`
     取值
     ```
     127.0.0.1:6379> get key1          #  获取键位key1的值
         "value1"
         127.0.0.1:6379> get key2
         "value2"
         127.0.0.1:6379> get key3
         "value3"
     ```
    > 4.`exists key `
     测试指定key是否存在
     ```
     127.0.0.1:6379> exists key1
         (integer) 1
         127.0.0.1:6379> exists key4       # key4不存在
         (integer) 0
     ```
    > 5.`del key1 key2….keyN `
     删除指定key
     ```
     127.0.0.1:6379> keys *            # 查看所有key
         1) "key3"
         2) "key1"
         3) "key2"
         127.0.0.1:6379> del key2 key3     # 删除
         (integer) 2
         127.0.0.1:6379> keys *
         1) "key1"
     ```
    > 6.`type key `
     返回指定key的value类型
     ```
     127.0.0.1:6379> type key1
         string
         127.0.0.1:6379> lpush list1 1 2 3 # 存入一个list类型
         (integer) 3
         127.0.0.1:6379> type list1        # 查看类型
         list
     ```

    > 7.`dbsize`
     返回当前数据库的key数量
     ```sql
     127.0.0.1:6379> dbsize            # 查看0号数据库的key数量
         (integer) 4
         127.0.0.1:6379> keys *            # 查看所有key
         1) "key3"
         2) "key1"
         3) "list1"
         4) "key2"
     ```
    > 8.`SAVE `
     持久化,除了在配置文件中配置,我们也可以直接在redis-cli中键入SAVE,则会将此时所有的key-value存入硬盘中,名为 `dump.rdb`

    ### II. 发布订阅模式 PUB/SUB: ###

    Redis在实现PUB/SUB中, 发送信息的客户端)不将信息直接发送给特定的接收者,而是将信息发送给频道,而订阅者也无须知道是那个客户端给它发送信息, 它只要关注自己感兴趣的频道即可。

    即打开两个客户端,
    1. 在`redis-cli.exe`中使用 `PUBLISH` 向channel 中发布一条消息;
   ![图PUBLISH](6.PUBLISH.png)

   2. 则在使用 `SUBSCRIBE` 订阅了`channel1` 的redis-cli中可以读取到发布的消息;
   ![SUBSCRIBE频道1](7.SUBSCRIBE2.png)

   3. 可以订阅多个频道(channel),可以同时读取多个频道发布的消息;
   ![SUBSCRIBE频道1和2](8.SUBSCRIBE.png)


三、 程序使用
--
   由于 Redis 没有官方的Windows版本,但是若想在 Windows 应用程序中使用,可以使用封装好的 [hiredis](https://github.com/search?q=hiredis) 。
   Hiredis是Redis数据库的简约C客户端库。我们可以在程序中使用hiredis的动态库dll;

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则