Redis 学习之常用命令及安全机制
该文使用centos6.5 64位 redis3.2.8
一、redis常用命令
键值常用命令:
1、 keys 返回满足pattern的所有key。
127.0.0.1:6379> keys my*
127.0.0.1:6379> keys * 2、exits 确认key是否存在。 返回1表示存在 0表示不存在
127.0.0.1:6379> exists name 3、del :删除一个键 返回1:删除成功 0:失败
127.0.0.1:6379> del name
(integer) 1
4、expire 设置key(该key必须存在)的过期时间 返回1表示设置成功 0 失败
5、ttl 查看键的过期时间 如果该键已经过期(销毁)则返回负数
127.0.0.1:6379> expire myset2 10
(integer) 1
127.0.0.1:6379> ttl myset2
(integer) 4
127.0.0.1:6379> ttl myset2
(integer) -2
、选择数据库
Redis中一共有16个数据库他们分别是0-15
select 0 表示当前数据库
7、move 将当前数据库中的key转移到其他数据库中 返回1表示成功 0 失败
127.0.0.1:6379> move age 1
(integer) 1
8、persiste:移除给定key的过期时间 返回1表示取消成功 0 失败
127.0.0.1:6379[1]> expire age 100
(integer) 1
127.0.0.1:6379[1]> ttl age
(integer) 94
127.0.0.1:6379[1]> persist age
(integer) 1
127.0.0.1:6379[1]> get age
""
9、randomkey:随机数据库中的一个key
127.0.0.1:6379[1]> randomkey
"age"
10、rename:重命名key
127.0.0.1:6379[1]> keys *
1) "age"
127.0.0.1:6379[1]> rename age age_now
OK
127.0.0.1:6379[1]> keys *
1) "age_now"
11、返回key的数据类型
127.0.0.1:6379> type height
string
127.0.0.1:6379> type myzset1
Zset
服务器相关命令
1、Ping :测试链接redis是否存活 返回 PONG 表示链接存活
127.0.0.1:6379> ping
PONG
2、echo :在命令行打印数据
127.0.0.1:6379> echo hello
"hello"
3、select 选择数据库。Redis数据库编号是0-15,我们可以选择任意一个数据库进行数据存储
127.0.0.1:6379> select 0
OK
127.0.0.1:6379> select 15
OK
127.0.0.1:6379[15]> select 16
(error) ERR invalid DB index
127.0.0.1:6379[15]>
4、quit 退出客户端与redis服务器的连接
5、dbsize 返回当前数据库中key的数量
127.0.0.1:6379> dbsize
(integer) 15
6、info 获取redis服务的相关信息和统计
127.0.0.1:6379> info
7、config get 查看redis服务器相关配置参数
127.0.0.1:6379> config get *
127.0.0.1:6379> config get port
1) "port"
2) ""
7、flushdb 删除当前数据库中所有的key
127.0.0.1:6379[1]> keys *
1) "age_now"
127.0.0.1:6379[1]> flushdb
OK
127.0.0.1:6379[1]> keys *
(empty list or set)
8、删除所有数据库中所有的key
127.0.0.1:6379[1]> flushall
二、 redis安全机制
设置redis连接密码
Redis速度很快,所以在一台比较好的服务起下,一个外部的用户可以在1秒钟进行150k次的密码尝试连接,所以我们需要设置非常强大的密码来防止暴力破解。
设置密码:在redis的配置文件中 添加requirepass password
################################## SECURITY ###################################
# Require clients to issue AUTH <PASSWORD> before processing any other
# commands. This might be useful in environments in which you do not trust
# others with access to the host running redis-server.
#
# This should stay commented out for backward compatibility and because most
# people do not need auth (e.g. they run their own servers).
#
# Warning: since Redis is pretty fast an outside user can try up to
# 150k passwords per second against a good box. This means that you should
# use a very strong password otherwise it will be very easy to break.
#
# requirepass foobared
requirepass jalja
重启redis服务器:[root@localhost bin]# ./redis-server /usr/local/redis/etc/redis.conf
1、测试密码是否可用:
[root@localhost bin]# ./redis-cli
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.(操作被拒绝)
使用密码(授权):auth password
127.0.0.1:6379> auth jalja
OK
2、使用密码登录redis服务器:[root@localhost bin]# ./redis-cli -a jalja
Redis 学习之常用命令及安全机制的更多相关文章
- Redis学习笔记--常用命令
以下为本人学习Redis的备忘录,记录了大部分常用命令 1.客户端连接redis服务端: ===启动Redis服务端 redis-server /yourpath/redis.conf ===启动Re ...
- Redis学习笔记~常用命令总结
回到目录 客户端redis-cli常用的命令总结 连接到服务器 redis-cli -h 127.0.0.1 -p 6379 --连接指定的redis服务器 发布/订阅, pub/sub模式运行在re ...
- Redis学习笔记-常用命令篇(Centos7)
redis提供了丰富的命令,这些命令可以在linux终端使用.在各类语言中,这些命令都有对应的方法. 一.键值相关 1.keys 返回满足给定pattern的所有key 127.0.0.1:6379& ...
- redis学习-string常用命令
keys * :查询所有的key值 set:为指定键设置对应的值 get:获取指定键的值 mset:一次传入多个键值对 mget:一次获取多个键的值 del:删除指定键 strlen:获取指定键值的长 ...
- redis 介绍和常用命令
redis 介绍和常用命令 redis简介 Redis 是一款开源的,基于 BSD 许可的,高级键值 (key-value) 缓存 (cache) 和存储 (store) 系统.由于 Redis 的键 ...
- Redis数据类型和常用命令
Redis相较于其它的数据库虽然简单,但是要熟记所有命令的用法也并非易事.一个简单的技巧是通过要操作的数据类型来将这些命令进行结构化. 数据类型和对应命令 所有存储于redis中的数据都对应于一个键值 ...
- 一张图学习vim常用命令
一张图学习vim常用命令
- goland学习-go常用命令使用
goland学习-go常用命令使用 1.跨平台编译:env GOOS=linux GOARCH=amd64 go build 2.获取go第三方包:go get -u github.com/go-sq ...
- 记录redis安装及常用命令
Redis安装及常用命令 一.安装 1.下载,解压,进入redis解压目录,make. make PREFIX=目录/redis install :安装到指定目录文件名为redis. 2.将解压目录里 ...
随机推荐
- Python学习笔记四:列表,购物车程序实例
列表 切片 中括号,逗号分隔,可以一次取出多个元素,起始位置包括,结束位置不包括(顾头不顾尾) 如果取最后一个,而且不知道列表长度,可以使用负数(-1是最后一个,以此类推) 如果取最后几个,记住从左往 ...
- 用JavaScript动态实现单元格合并
不太想描述,大家自行理解吧,这样可能记忆会深一点儿- <script type="text/javascript"> function mergeCells(){ va ...
- STM32 USB设备描述符、配置描述符、端点描述符含义
查了一整天的资料,自己把不懂的全部试了一遍 一下是程序以及注释 /* USB设备描述符*/ const uint8_t CustomHID_DeviceDescriptor[CUSTOMHID_SIZ ...
- NetWork——关于TCP协议的三次握手和四次挥手
分钟. (2)服务器B存在一个保活状态,即如果A突然故障死机了,那B那边的连接资源什么时候能释放呢? 就是保活时间到了后,B会发送探测信息,以决定是否释放连接. (3)为什么连接的时候是三次握手,关闭 ...
- python之Queue
一.多进程的消息队列 “消息队列”是在消息的传输过程中保存消息的容器 消息队列最经典的用法就是消费者和生成者之间通过消息管道来传递消息,消费者和生成者是不通的进程.生产者往管道中写消息,消费者从管道中 ...
- golang 仿python pack/unpack
写得不完善也不完美 尤其是高低位转换那(go和c 二进制高地位相反 需要转换,还有go int转[]byte长度是4位),希望牛人看后指导一下 项目需要通过socket调取 客户端是go ,服务器端是 ...
- connect by 语句
create table tb_menu( id number(10) not null, --主键id titlevarchar2(50), --标题 parent number(10) --par ...
- hdu1730Northcott Game(nim博弈)
Northcott Game Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- Qt-第一个QML程序-2-关键代码分析,TEXT,Image,Mouseare
qml语言开始写的时候有点不习惯,后面用的多了感觉很好,很顺手,用于快速搭建项目界面,真的很好. 目前用到的还是比较简单的 隐藏标题栏,而依附任务栏 flags: Qt.Window | Qt.Fra ...
- Qml-Dialog不能隐藏标题栏和按钮自定义
在项目中,需要弹出一个对话框来完成用户输入的功能,为了考虑界面的同一,这里需要将原生自带的标题栏隐藏掉,换成自己写的 按照widget的写法,可以使用QDialog,但是qml与之对应的Dialog我 ...