zoukankan      html  css  js  c++  java
  • 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

     

     

  • 相关阅读:
    手机号码正则表达式
    POJ 3233 Matrix Power Series 矩阵快速幂
    UVA 11468
    UVA 1449
    HDU 2896 病毒侵袭 AC自动机
    HDU 3065 病毒侵袭持续中 AC自动机
    HDU 2222 Keywords Search AC自动机
    POJ 3461 Oulipo KMP模板题
    POJ 1226 Substrings KMP
    UVA 1455 Kingdom 线段树+并查集
  • 原文地址:https://www.cnblogs.com/ccEmma/p/7746421.html
Copyright © 2011-2022 走看看