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. Flask 使用富文本输入框

    模板 <script src="{{ url_for('static', filename='ckeditor/ckeditor.js') }}"></scrip ...

  2. Linux centos7 redis安装教程

    1.下载解压 #下载至/home/install(或windows系统下载后上传) mkdir /home/install cd /home/install wget http://124.205.6 ...

  3. 按月、按日进行数据统计的Mysql语句

    <select id="getCustomerTJByUser" parameterType="map" resultType="map&quo ...

  4. g711u与g729比较编码格式

    •g711a—编解码格式为G.711 alaw •g711u—编解码格式为G.711 ulaw (the default) •g729—编解码格式为G.729 •g729a—编解码格式为G.729a ...

  5. STM32组合设备实现USB转双串口

    USB转双串口,核心技术就在于组合设备(USB Composite)的实现,组合设备的实现,其核心技术在于描述符的实现,下面我们先给出描述符:设备描述符 [C] 纯文本查看 复制代码 ? 00001 ...

  6. 从0开始学习 GITHUB 系列之「GIT 速成」【转】

    本文转载自:http://stormzhang.com/github/2016/05/30/learn-github-from-zero3/ 版权声明:本文为 stormzhang 原创文章,可以随意 ...

  7. 关于AutoResetEvent 和ManualResetEvent

    在公司的代码里面看到这两个类的使用了,第一次去msdn上的时候,看的一头雾水(关键是没有找对方法) http://www.cnblogs.com/qingyun163/archive/2013/01/ ...

  8. 枚举子集&高位前缀和

    最近做的题里面有这个东西,于是写一篇博客总结一下吧. 枚举子集 枚举子集就是状压的时候枚举其中的二进制位中的1的子集.直接暴力枚举二进制位时间复杂度是\(O(4^n)\),但是我们可以发现,对于每一位 ...

  9. 如何优雅地发布Hexo博客

    前言 就目前而言,我所知道的发布Hexo的博客有如下几种: 1.原始方式,也就是在服务器上编写md文件,然后利用hexo g来生成,详见:hexo从零开始到搭建完整: 2.利用github+hook来 ...

  10. 《F4+2》——团队项目的原型设计与开发

      目 录 1 · 团队信息 2 · NABCD模型 3.  原型设计的工具 4 · 原型设计 5 · PSP表格 6 · 团队设计过程 7 · 原型设计心得   一 · 团 队 信 息 成 员 列 ...