redis学习笔记(三)之其他命令和特性

redis学习笔记(一)之安装测试

redis学习笔记(二)之数据类型

一、基本特性

1、reids 默认端口:6379;

2、默认支持16个数据库,建立连接后自动选择0号数据库,建议不同的应用使用不同的redis,一个空的redis实例只占1MB左右,其命令不区分大小写。

二、安全特性

redis速度相当快,所以在一台比较好的服务器下,一个外部用户在一秒内可以进行15W次的密码尝试,这意味着你需要设定非常强大的密码来防止暴力破解。

vi编辑 redis.conf文件 找到下面进行保存修改 #requirepass foobared requirepass **** , 重启服务器, 再次进入127.0.0.1:6379> keys * (error) NOAUTH Authentication required. 会发现没有权限进行查询127.0.0.1:6379> auth aaa OK 输入密码则成功进入 每次进入的时候都要输入密码,还有种简单的方式: 还有种方式是直接登录授权:[root@bhz ~]# /usr/local/redis/bin/redis-cli -a aaa

三、命令拾遗

1、测试是否连接到redis

1)ping,返回pong,说明连接成功;

2)echo hi ,交互模式,若返回hi,说明连接成功。此命令可以理解为打印,注意打印的字符串中不能有空格。

2、返回满足的所有键 keys * (可以模糊匹配)

3、exists 是否存在指定的key

4、expire 设置某个key的过期时间,使用ttl查看剩余时间

5、persist 取消过期时间

6、select 选择数据库 数据库为0到15(一共16个数据库)默认进入的是0数据库

7、move [key] [数据库下标]将当前数据中的key 转移到其他数据库中

8、randomkey 随机返回数据库里的一个key

9、rename 重命名key

10、dbsize 查看数据库的key数量

11、info获取数据库信息

12、config get 实时传储收到的请求(返回相关的配置信息) config get * 返回所有配置

13、flushdb 清空当前数据库

14、flushall 清空所有数据库

四、事务管理

redis的事务非常简单,而且在执行的过程中出现问题,无法进行回滚操作,所以一般也只是当做缓存使用。

使用方法:

首先是使用multi方法打开事务 然后进行相关操作,这时操作的数据都会放入队列里进行保存 最后使用exec执行。如果不需要执行,使用discard方法取消事务。示例如下,k1、k2、k3设置成功,k4、k5被取消:

127.0.0.1:6379> multi
OK
127.0.0.1:6379> set k1 1
QUEUED
127.0.0.1:6379> set k2 2
QUEUED
127.0.0.1:6379> set k3 3
QUEUED
127.0.0.1:6379> exec
1) OK
2) OK
3) OK
127.0.0.1:6379> keys *
1) "k3"
2) "k2"
3) "k1"
127.0.0.1:6379> multi
OK
127.0.0.1:6379> set k4 a
QUEUED
127.0.0.1:6379> set k5 b
QUEUED
127.0.0.1:6379> discard
OK
127.0.0.1:6379> keys *
1) "k3"
2) "k2"
3) "k1"

中途若某命令执行出错,则执行的命令不会回滚,示例如下:

127.0.0.1:6379> get name
"Tom"
127.0.0.1:6379> get age
"18"
127.0.0.1:6379> multi
OK
127.0.0.1:6379> incr age
QUEUED
127.0.0.1:6379> incr age
QUEUED
127.0.0.1:6379> incr name
QUEUED
127.0.0.1:6379> incr age
QUEUED
127.0.0.1:6379> exec
1) (integer) 19
2) (integer) 20
3) (error) ERR value is not an integer or out of range
4) (integer) 21
127.0.0.1:6379> get age
"21"
127.0.0.1:6379> get name
"Tom"

五、发布订阅

redis 提供了简单的发布订阅功能。 使用subscribe [频道] 进行订阅监听, 使用publish [频道] [发布内容] 进行发布消息广播。

示例如下:

在第一个客户端中对t1频道进行监听:

127.0.0.1:6379> SUBSCRIBE t1 
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "t1"
3) (integer) 1

在第二个客户端中对t1频道进行发布消息:

127.0.0.1:6379> publish t1 hello!
(integer) 1

此时,切回到第一个客户端,会发现自动监听了该消息:

127.0.0.1:6379> SUBSCRIBE t1 
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "t1"
3) (integer) 1
1) "message"
2) "t1"
3) "hello!"

 

转载于:https://my.oschina.net/BensonYu/blog/735143

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值