Redis整理第二波(启动、命令)

启动

配置数据库数量:

Redis默认开启16个数据库,不能像mysql自定义数据库名称,只能是数值,不能修改。

 

配置内存大小:

 

会生成一个和内存大小一样的文件。

 

maxmemory 200mb #在真实环境必须部署,否则物理内存会被耗尽。一般配置200mb/500mb/1gb/2gb。可以分散到多台服务器,和其它业务共享服务器,以充分利用资源。同时因为分散,防止单点故障,造成大量缓存失效。

启动

redis-server #默认找redis.conf配置文件

redis-server & #上面ctrl+c中断reis会退出,这个不会

redis-server redis6380.conf #指定配置文件,这样可以启动多个实例

注意两种启动方式的差异

ps -ef|grep redis

root      3511     1  0 16:29 ?   00:00:01 redis-server *:6379

root      3515     1  0 16:29 ?   00:00:01 redis-server 127.0.0.1:6380

注释掉redis.conf配置文件中的48行;# bind 127.0.0.1 ::1即可

设置访问密码

默认没有密码,可以随意访问。

redis速度相当快,在一个较好的服务器下,外部用户每秒可以进行15w此的密码尝试,这意味着必须指定非常强大的密码来防止暴力破解。

如果要加,打开redis.conf

requirepass 123456 #480行,设置请求密码,这样访问时都需要先登录

127.0.0.1:6379> auth 123456 #客户端访问方式

jedis.auth(“123456”); #jedis访问方式

 


常用命令

redis-cli的使用之发送命令:

 

默认连接:IP 127.0.0.1 端口 6379

redis-cli

指定IP端口:

redis-cli –h 127.0.0.1 –p 6379

Redis提供了PING-PONG机制,测试与客户端和服务器链接是否正常

redis-cli ping

或

redis-cli

redis 127.0.0.1:6379>ping

PONG

redis-cli的使用之命令返回值:

127.0.0.1:6379>SET test 123

OK

错误回复(以error开头,后面跟着错误信息)

127.0.0.1:6379>TEST

(error) ERR unknown command 'TEST'

整数回复

127.0.0.1:6379>INCR test_incr

(integer) 1

字符串回复(最长久的一种回复,双引号包裹)

127.0.0.1:6379>get test

“123”

多行字符串回复

127.0.0.1:6379>KEYS *

1) "test_incr"

2) "test"

退出

127.0.0.1:6379> exit

关闭

127.0.0.1:6379> shutdown

keys

字符串类型是redis中最基本的数据类型,它能存储任何形式的字符串,包括二进制数据。

可以存储JSON化的对象、字节数组等。一个字符串类型键允许存储的数据最大容量是512MB

赋值与取值:

SET key value

GET key

127.0.0.1:6379> keys *

(empty list or set)

127.0.0.1:6379> set test 123

OK

127.0.0.1:6379> set test1 ab

OK

127.0.0.1:6379> keys *

1) "test1"

2) "test"

127.0.0.1:6379> get test

"123"

127.0.0.1:6379> get test1

"abc"

127.0.0.1:6379> get test2

(nil)

127.0.0.1:6379>

select

redis默认支持16个数据库,对外都是以一个从0开始的递增数字命名,可以通过参数database来修改默认数据库个数。

客户端连接redis服务后会自动选择0号数据库,可以通过select命令更换数据库,

说明:

Redis不支持自定义数据库名称。

Redis不支持为每个数据库设置访问密码。

Redis的多个数据库之间不是安全隔离的,FLUSHALL命令会清空所有数据库的数据。

例如选择1号数据库:

127.0.0.1:6379>SELECT 1

OK

127.0.0.1:6379>GET test

(nil)

获取符合规则的建名列表。

说明:

? 匹配一个字符

*   匹配任意个(包括0个)字符

[]  匹配括号间的任一字符,可以使用“-“表示范围。如a[a-d]匹配ab/ac/ad

x 匹配字符x,用于转义符合,如果要匹配“?“就需要使用?

KEYS *

keys test[_]*

keys t[a-d]

判断一个键是否存在

如果键存在则返回整数类型1,否则返回0

127.0.0.1:6379> keys *

1) "test_incr"

2) "test"

127.0.0.1:6379> exists test

(integer) 1

127.0.0.1:6379> exists test1

(integer) 0

127.0.0.1:6379>

删除键

可以删除一个或者多个键,多个键用空格隔开,返回值是删除的键的个数

127.0.0.1:6379> del test

(integer) 1

127.0.0.1:6379> del test

(integer) 0

127.0.0.1:6379> del test test_incr

(integer) 1

127.0.0.1:6379>

获得键值的数据类型

返回值可能是string(字符串)、hash(散列类型)、list(列表类型)、set(集合类型)、zset(有序集合类型)。

127.0.0.1:6379> keys *

1) "test1"

2) "test"

127.0.0.1:6379> type test

string

127.0.0.1:6379> type test1

string

清空所有数据库 flushall

127.0.0.1:6379> FLUSHALL

OK

清空当前数据库flushdb

127.0.0.1:6379> FLUSHDB

OK

 

 

原文地址:https://www.cnblogs.com/ccEmma/p/7746421.html