reids

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

以上是关于reids的主要内容,如果未能解决你的问题,请参考以下文章

欢迎参与 ReID-Conferences-Code 开源项目

欢迎参与 ReID-Conferences-Code 开源项目

欢迎参与 ReID-Conferences-Code 开源项目

欢迎参与 ReID-Conferences-Code 开源项目

reids中删除某个前缀的所有key

reids(缓存,reids下载,安装 测试)