redis提供了丰富的命令,这些命令可以在linux终端使用。在各类语言中,这些命令都有对应的方法。

一、键值相关

1、keys

  返回满足给定pattern的所有key

127.0.0.1:6379> keys *
1) "key1"
2) "num"
3) "list"
4) "qq"
5) "key2"
6) "key3"
7) "hashkey"
8) "setkey"
9) "listkey2"
10) "num2"
11) "num1"
12) "listkey"
13) "listkey1"
14) "key5"
15) "test"
16) "name"
17) "zsetkey"
18) "setkey-1"
19) "setkey-2"
20) "num3"
21) "key4"
22) "num4"
127.0.0.1:6379> keys num*
1) "num"
2) "num2"
3) "num1"
4) "num3"
5) "num4"

2、exists

  确认key是否存在

127.0.0.1:6379> exists name
(integer) 1
127.0.0.1:6379> exists key
(integer) 0

3、del

  删除一个key

127.0.0.1:6379> exists qq
(integer) 1
127.0.0.1:6379> del qq
(integer) 1
127.0.0.1:6379> exists qq
(integer) 0

4、expire

  设置一个key的过期时间(单位为秒)

127.0.0.1:6379> ttl name
(integer) -1
127.0.0.1:6379> expire name 10
(integer) 1
127.0.0.1:6379> ttl name
(integer) 8
127.0.0.1:6379> ttl name
(integer) 5
127.0.0.1:6379> ttl name
(integer) 0
127.0.0.1:6379> ttl name
(integer) -2
127.0.0.1:6379> get name
(nil)

5、move

  将当前数据库中的key转移到其它数据库中

127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> get test
(nil)
127.0.0.1:6379[1]> select 0
OK
127.0.0.1:6379> get test
"redis test"
127.0.0.1:6379> move test 1
(integer) 1
127.0.0.1:6379> get test
(nil)
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> get test
"redis test"

6、persist

  移除给定key的过期时间

127.0.0.1:6379> ttl list
(integer) -1
127.0.0.1:6379> expire list 300
(integer) 1
127.0.0.1:6379> ttl list
(integer) 296
127.0.0.1:6379> persist list
(integer) 1
127.0.0.1:6379> ttl list
(integer) -1

7、randomkey

  随机返回一个key

127.0.0.1:6379> randomkey
"num"
127.0.0.1:6379> randomkey
"key5"
127.0.0.1:6379> randomkey
"num3"

8、rename/renamenx

  重命名key

127.0.0.1:6379> rename list list-new
OK
127.0.0.1:6379> exists list
(integer) 0
127.0.0.1:6379> exists list-new
(integer) 1
127.0.0.1:6379> keys list*
1) "listkey2"
2) "list-new"
3) "listkey"
4) "listkey1"
127.0.0.1:6379> rename listkey listkey1
OK
127.0.0.1:6379> exists listkey
(integer) 0
127.0.0.1:6379> exists listkey1
(integer) 1
127.0.0.1:6379> renamenx listkey1 listkey2
(integer) 0
127.0.0.1:6379> renamenx listkey1 listkey3
(integer) 1

9、type

  返回值的类型

127.0.0.1:6379> type num
string
127.0.0.1:6379> type list-new
list
127.0.0.1:6379> type hashkey
hash
127.0.0.1:6379> type setkey
set
127.0.0.1:6379> type zsetkey
zset

二、服务器相关

1、ping

  测试是否正常连接

127.0.0.1:6379> ping
PONG
127.0.0.1:6379> ping aaa
"aaa"
# 关闭redis服务器
127.0.0.1:6379> shutdown
Could not connect to Redis at 127.0.0.1:6379: Connection refused
# 开启服务器
not connected> ping aaa
"aaa"
127.0.0.1:6379> ping
PONG

2、echo

  打印内容

127.0.0.1:6379> echo message
"message"
127.0.0.1:6379> echo ping
"ping"

3、select

  选择数据库,redis数据库编号范围是0~15,默认登录0

127.0.0.1:6379> select  1
OK
127.0.0.1:6379[1]> select 15
OK
127.0.0.1:6379[15]> select 16
(error) ERR invalid DB index
127.0.0.1:6379[15]> select 0
OK

4、quie/exit

  退出连接。

[root@localhost ~]# redis-cli
127.0.0.1:6379> quit
[root@localhost ~]#
[root@localhost ~]# redis-cli
127.0.0.1:6379> exit
[root@localhost ~]#

5、dbsize

  返回当前数据库中key的数量

127.0.0.1:6379> dbsize
(integer) 18

6、info

  获取服务器的信息和统计

127.0.0.1:6379> info
# Server
redis_version:3.2.5
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:75f5eeeebaabc5a4
redis_mode:standalone
os:Linux 3.10.0-229.el7.x86_64 x86_64
arch_bits:64
multiplexing_api:epoll
...
...
...
...
127.0.0.1:6379>

7、monitor

  实时显示收到的请求

127.0.0.1:6379> monitor
OK
# 有客户端进行连接
1481013661.020891 [0 127.0.0.1:52881] "COMMAND"
# 客户端执行的命令
1481013672.994979 [0 127.0.0.1:52881] "keys" "*"
1481013695.957605 [0 127.0.0.1:52881] "get" "name"
1481013704.682609 [0 127.0.0.1:52881] "set" "name" "linux"

8、config get

  获取服务器配置信息。

127.0.0.1:6379> config get dir
1) "dir"
2) "/usr/local/redis/6379"

9、flushdb

  删除当前数据库中所有的key

127.0.0.1:6379> dbsize
(integer) 19
127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> dbsize
(integer) 0

10、flushall

  删除所有数据库中的所有key

127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> dbsize
(integer) 1
127.0.0.1:6379[1]> select 0
OK
127.0.0.1:6379> dbsize
(integer) 4
127.0.0.1:6379> flushall
OK
127.0.0.1:6379> dbsize
(integer) 0
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> dbsize
(integer) 0

三、安全相关

  因为各种安全的原因,我们可能想要对数据库设置密码。

  修改配置文为以下的语句:

requirepass foobared

  使用系统默认的密码“foobared”。注意:因为redis数据库速度相当快,可以做到1秒150K次的密码尝试,所以实际使用时需要设置足够强大的密码。

  重新启动数据库。然后再用数据库连接操作时,就会发生下面的情况:

127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.

  如果想要操作需要输入口令

127.0.0.1:6379> auth foobared
OK
127.0.0.1:6379> keys *
1) "name"

  我们还可以在连接服务器的时候就指定口令:

[root@localh ~]# redis-cli -a foobared
127.0.0.1:6379> keys *
1) "name"
127.0.0.1:6379>

Redis学习笔记-常用命令篇(Centos7)的更多相关文章

  1. Redis学习笔记--常用命令

    以下为本人学习Redis的备忘录,记录了大部分常用命令 1.客户端连接redis服务端: ===启动Redis服务端 redis-server /yourpath/redis.conf ===启动Re ...

  2. Redis学习笔记~常用命令总结

    回到目录 客户端redis-cli常用的命令总结 连接到服务器 redis-cli -h 127.0.0.1 -p 6379 --连接指定的redis服务器 发布/订阅, pub/sub模式运行在re ...

  3. Redis 学习之常用命令及安全机制

    该文使用centos6.5 64位    redis3.2.8 一.redis常用命令 键值常用命令: 1. keys 返回满足pattern的所有key. 127.0.0.1:6379> ke ...

  4. Hexo学习笔记--常用命令及部署步骤

    参考资料: Hexo搭建Github静态博客:http://www.cnblogs.com/zhcncn/p/4097881.htmlHexo:独立博客新玩法:http://www.aips.me/h ...

  5. SQL学习笔记---常用命令

    常用命令 变量 1.声明 declare @变量名 类型,… 2.赋值 1.同时赋值多个变量(可以结合查询) select @变量名=表达式1,表达式2 2.单个赋值(推荐) set @变量名=表达式 ...

  6. ionic学习笔记—常用命令

    Ionic CLI介绍 Ionic CLI是开发Ionic应用程序过程中使用的主要工具.它就像一个瑞士军刀:它在一个界面下汇集了大量工具. CLI包含许多对Ionic开发至关重要的命令,例如start ...

  7. Redis学习笔记-事务控制篇(Centos7)

    一.事务控制 1.简单事务控制 redis可以使用mult命令将之后的命令都存放在队列中,只有使用exec命令时才全部执行. 127.0.0.1:6379> multi OK 127.0.0.1 ...

  8. Redis学习笔记-数据操作篇(Centos7)

    一.基本操作 1.插入数据 127.0.0.1:6379> set name cos1eqlg0 OK 这样就在redis中设置了一个key-value键值对 2.查询数据 127.0.0.1: ...

  9. MongoDB学习笔记—常用命令

    这里记录一下MongoDB常用的命令 数据库相关 创建数据库 use DATABASE_NAME 如果数据库不存在,则创建数据库,否则切换到指定数据库. 删除数据库:切换到要删除的数据库下,执行命令即 ...

随机推荐

  1. Codeforces Round #532 (Div. 2) Solution

    A. Roman and Browser 签到. #include <bits/stdc++.h> using namespace std; ]; int get(int b) { ]; ...

  2. CCPC-Wannafly Winter Camp Day7 (Div2, onsite)

    Replay Dup4: 啥都不会? 只能看着两位聚聚A题? X: 模拟题不会写, 日常摔锅 u, v分不清, 日常演员 又是自己没理清楚就抢键盘上机导致送了一万个罚时, 日常背锅 A:迷宫 Solv ...

  3. js正则表达式的使用详解

    本文转自:http://www.jb51.net/article/39623.htm 1定义正则表达式2关于验证的三个这则表达式方法3正则表达式式的转义字符 1定义正则表达式在js中定义正则表达式很简 ...

  4. 一个Golang例子:for + goroutine + channel

    Rob Pike 在 Google I/O 2012 - Go Concurrency Patterns 里演示了一个例子(daisy chain). 视频地址:https://www.youtube ...

  5. lxml.etree去除子节点

    去除etree中的某个子节点有两种方法: 1.parentnode.remove(node) 2.etree.strip_elements(html, 'element_name', with_tag ...

  6. UVa 1662 Brackets Removal

    https://vjudge.net/problem/UVA-1662 题意: 给出一个序列,判断序列中哪些括号是可以去掉的,只可以改变符号.输出括号最少的序列. 思路: 感觉这道题目就是写起来繁琐了 ...

  7. install ros-indigo-camera-info-manager

    CMake Warning at /opt/ros/indigo/share/catkin/cmake/catkinConfig.cmake: (find_package): Could not fi ...

  8. git关于 LF 与 CRLF

    问题描述: 今天在idea上配置好了git操作到push,目测都没遇到什么问题. 但是再次点击提交按钮的时候,仍然提示我所有的文件都是需要提交的(我的主题中蓝色显示) 然而本地并无改动,在提交窗口得到 ...

  9. Python环境管理--virtualenvwrapper

    遇到问题: 当最近的开发和部署过程中,多个服务器部署的时候发现对于库和包的管理非常混乱,主要有俩个版本问题: 因为业务需要,代码得分别部署在不同的服务器上面,每次部署的时候都得重复的安装包而且不能确定 ...

  10. echart3 湖北地图及如何创建其他省份地图

    刚刚收到一封园友求助echart湖北地图的邮件,现在将湖北地图的所有代码贴到这里,希望可以帮助到更多朋友. 1.首先你得到echarts官网下载js,很多人说找不到,可以到我的git下载(https: ...