第四章、Redis的基本用法

Redis获取帮助文档

登录客户端输入help,如下示例:

注:客户端命令不区分大小写

[root@CentOS7 ~]# redis-cli
127.0.0.1:6379> help
redis-cli 6.2.5
To get help about Redis commands type:
      "help @<group>" to get a list of commands in <group>
      "help <command>" for help on <command>
      "help <tab>" to get a list of possible help topics
      "quit" to exit
To set redis-cli preferences:
      ":set hints" enable online hints
      ":set nohints" disable online hints
Set your preferences in ~/.redisclirc

查看有哪些组

127.0.0.1:6379> help @      按Tab键切换不同的组

切换数据库(名称空间)

127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]>

定义一个键需要遵循:

可以使用ASCII字符

键的长度不要过长,键的长度越长则消耗的空间越多

在同一个库中(名称空间),键的名称不得重复,如果复制键的名称,实际上是修改键中的值

在不同的库中(名称空间),键的同一个名称可以重复

键可以实现自动过期

Strings的操作:

设置一个值:

127.0.0.1:6379[2]> set long tao
OK
127.0.0.1:6379[2]> get long
"tao"

NX:如果一个键不存在,才创建并设定值,否则不允许设定

XX:如果一个键存在则设置建的值,如果不存在则不创建并不设置其值

例如:

127.0.0.1:6379[2]> get long
"tao"
127.0.0.1:6379[2]> set long taolong nx
(nil)     //返回提示一个没能执行的操作
127.0.0.1:6379[2]> set long taolong xx
OK
127.0.0.1:6379[2]> get long
"taolong"

定义一个键并设置过期时间为10秒

127.0.0.1:6379[2]> set foo longtao EX 10
OK
127.0.0.1:6379[2]> get foo
"longtao"
127.0.0.1:6379[2]> get foo
(nil)   //10秒后值失效

获取键中的值:

127.0.0.1:6379[2]> get long
"taolong"

追加键中的值(在原有键中追加值的内容):

127.0.0.1:6379[2]> get long
"taolong"
127.0.0.1:6379[2]> append long 123456
(integer) 13
127.0.0.1:6379[2]> get long
"taolong123456"

获取指定键中的值的字符串的长度:

127.0.0.1:6379[2]> strlen long
(integer) 13

定义整数值:

127.0.0.1:6379[2]> set int 0
OK
127.0.0.1:6379[2]> get int
"0"

增加键中的整数值:+1  (注:incr命令只能对整数使用)

127.0.0.1:6379[2]> incr int
(integer) 1
127.0.0.1:6379[2]> get int
"1"
127.0.0.1:6379[2]> incr int
(integer) 2
127.0.0.1:6379[2]> get int
"2"

删除键:

127.0.0.1:6379[2]> get long
"taolong123456"
127.0.0.1:6379[2]> del long
(integer) 1
127.0.0.1:6379[2]> get long
(nil)

info 查看统计信息

最后显示

# Keyspace
db0:keys=1,expires=0,avg_ttl=0   //数据库零:有一个键,0个过期键值
db2:keys=2,expires=0,avg_ttl=0   //数据库二:有两个键,0个过期键值

查看所有键信息:

127.0.0.1:6379[2]> keys *
1) "foo"
2) "int"

列表的操作:

键指向一个列表,而列表可以理解为是一个字符串的容器,列表是有众多元素组成的集合,可以在键所指向的列表中附加一个值

LPUSH //在键所指向的列表前面插入一个值(左边加入)

RPUSH //在键所指向的列表后面附加一个值(右边加入)

LPOP //在键所指向的列表前面删除一个值(左边删除)

RPOP //在键所指向的列表后面删除一个值(右边删除)

LINDEX //根据索引获取值,指明索引位置进行获取对应的值

LSET //用于修改指定索引的值为指定的值

创建一个新的列表

实际上创建一个新的列表使用LPUSH或RPUSH都可以
127.0.0.1:6379[2]> lpush lt long tao
(integer) 2

获取列表中的值

(需要指定位置)
127.0.0.1:6379[2]> lindex lt 0
"tao"
127.0.0.1:6379[2]> lindex lt 1
"long"
127.0.0.1:6379[2]>

在原有的列表中的左侧或右侧加入一个值

127.0.0.1:6379[2]> lpush lt left
(integer) 3
127.0.0.1:6379[2]> lindex lt 0
"left"
127.0.0.1:6379[2]> rpush lt right
(integer) 4
127.0.0.1:6379[2]> lindex lt 3
"right"

修改一个已有的列表中的值:

127.0.0.1:6379[2]> lset lt 0 ABC
OK
127.0.0.1:6379[2]> lindex lt 0
"ABC"

查看列表中的值的数量

127.0.0.1:6379[2]> llen lt
(integer) 4

在已有的列表中左侧删除一个值

127.0.0.1:6379[2]> lpop lt
"ABC"
127.0.0.1:6379[2]> lpop lt
"tao"

在已有的列表中右侧删除一个值

127.0.0.1:6379[2]> rpop lt
"right"

其他使用方法查询

127.0.0.1:6379[2]> help @list

认证实现方法:

在配置文件大概在900行左右

vim /etc/redis.conf
  # requirepass foobared//去掉#注释启用此项,并指定密码为longtao
requirepass  longtao

设定密码后如何登录

[root@CentOS7 ~]# redis-cli
127.0.0.1:6379> select 2
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth longtao
OK
127.0.0.1:6379> select 1
OK

清空数据库

清空所有的库和所有的值 flushall

127.0.0.1:6379[2]> keys *
1) "lt"
2) "ll"
3) "foo"
127.0.0.1:6379[2]> flushall
OK
127.0.0.1:6379[2]> keys *
(empty array)

清空当前的库和所有的值 flushdb

127.0.0.1:6379> keys *
1) "name"
127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> keys *
(empty array)

客户端使用说明:

# redis-cli -h

选项:

-h <hostname> 指定主机IP
-p <port>指定端口socket文件进行通信
-s <socket>     指定socket文件,如果客户端和服务端都在同一台主机,可以指定socket文件进行通信
-a <password>   指定认证密码
-r <repeat>     连接成功后指定运行的命令N次
-i <interval>   连接成功后每个命令执行完成等待时间,使用-i选项指定
-n <db>

示例:

[root@xuegod63 ~]# redis-cli -h 192.168.1.63//连接redis,默认不启用密码认证
[root@xuegod63 ~]# redis-cli -h 192.168.1.63 -a longtao //连接redis,默认启用密码认证,密码是longtao
[root@xuegod63 ~]# redis-cli -h 192.168.1.63 -n 3 //连接redis,进入指定4号数据库,数据库编号从0开始
或:
[root@xuegod63 ~]# redis-cli //使用redis-cli直接连接,默认连接是127.0.0.1 IP
127.0.0.1:6379> exit //退出连接

其他更多使用方法,参见:https://www.runoob.com/redis/redis-tutorial.html

版权声明:
作者:WaterBear
链接:https://l-t.top/1956.html
来源:雷霆运维
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码

< <上一篇
下一篇>>