redis学习笔记(一)之安装测试redis
一、reids 默认端口:6379;缓存
二、默认支持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 aaadom
一、测试是否链接到redis学习
1)ping,返回pong,说明链接成功;测试
2)echo hi ,交互模式,若返回hi,说明链接成功。此命令能够理解为打印,注意打印的字符串中不能有空格。ui
二、返回知足的全部键 keys * (能够模糊匹配)spa
三、exists 是否存在指定的key
四、expire 设置某个key的过时时间,使用ttl查看剩余时间
五、persist 取消过时时间
六、select 选择数据库 数据库为0到15(一共16个数据库)默认进入的是0数据库
七、move [key] [数据库下标]将当前数据中的key 转移到其余数据库中
八、randomkey 随机返回数据库里的一个key
九、rename 重命名key
十、dbsize 查看数据库的key数量
十一、info获取数据库信息
十二、config get 实时传储收到的请求(返回相关的配置信息) config get * 返回全部配置
1三、flushdb 清空当前数据库
1四、flushall 清空全部数据库
redis的事务很是简单,并且在执行的过程当中出现问题,没法进行回滚操做,因此通常也只是当作缓存使用。
使用方法:
首先是使用multi方法打开事务 而后进行相关操做,这时操做的数据都会放入队列里进行保存 最后使用exec执行。若是不须要执行,使用discard方法取消事务。示例以下,k一、k二、k3设置成功,k四、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!"