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
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>
2:在远程 redis 服务上执行命令,同样我们使用的也是 redis-cli 命令
$ redis-cli -h host -p port -a password $redis-cli -h 127.0.0.1 -p 6379 -a "mypass"
3:给键设置过期 单位是秒
127.0.0.1:6379> expire key88 3 (integer) 1 等待3秒后 127.0.0.1:6379> exists key88 (integer) 0
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"
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
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"
重新开启个 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
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"
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"
以上是关于reids的主要内容,如果未能解决你的问题,请参考以下文章
欢迎参与 ReID-Conferences-Code 开源项目
欢迎参与 ReID-Conferences-Code 开源项目
欢迎参与 ReID-Conferences-Code 开源项目