Redis

Redis

简介

  • Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库

  • 非关系型数据库的一种,经常用作缓存

  • 官网:redis.io,中文网:redis.cn

  • 丰富的数据类型:字符串、哈希、列表、集合、有序集合等

  • 端口:6379

  • 安装:sudo apt-get install redis-server

连接测试

  • 检查服务是否启动:ps -ef | grep redis

  • 连接:redis-cli -h 主机 -p 端口 -a 密码

    • -h:指定主机

    • -p:指定端口

    • -a:指定密码

    • --help:查看帮助

    • 示例:redis-cli -h localhost -p 6379

  • 测试:

    • 127.0.0.1:6379>ping

    • 127.0.0.1:6379>PONG

  • 退出:quit

  • 密码管理:默认没有密码,若设置了密码,没有密码也可以登录成功,但是什么都不能做

    • 单次有效,通过以下命令

      • 获取密码:config get requirepass

      • 设置密码:config set requirepass 123456

      • 密码认证:auth 123456

    • 永久有效,修改配置文件/etc/redis/redis.conf

      • requirepass xxxxx行取消注释

      • 后面跟上你需要的密码

      • 重启服务后即可生效

redis命令

  • 常用

    ping:测试连接情况,回复PONG表示OK
    quit:退出连接
    auth:密码认证
    select:选择库,总共有16个,序号0~15,默认是第0个
    info:查看服务器信息
    command:查看支持的命令
    flushdb:清空当前库
    flushall:清空所有库
    save:前台进行持久化存储
    bgsave:后台进行持久化存储
    exists:判断指定键是否存在
    del:删除键
  • 字符串(string)

    
    set:设置
    get:获取
    getset:获取之后再设置
    mset:设置多个
    mget:获取多个
    incr:加1
    decr:减1
    incrby:加指定的值
    decrby:减指定的值
    append:追加内容
  • 哈希(hash)

    
    hset:设置单个属性
    hget:获取单个属性
    hmset:设置多个属性
    hmget:获取多个属性
    hgetall:获取所有属性
    hdel:删除键值对
    hexists:判断指定键的指定字段是否存在
    hkeys:获取指定键的所有属性名
    hvals:获取指定键的所有属性值
    hlen:获取指定键的属性个数
  • 列表(list)

    
    lpush:从左边(头部)插入数据
    lpop:从左边(头部)删除数据
    lrange:获取指定区间范围内的数据,0 -1表示所有
    lindex:根据索引获取元素
    llen:获取列表长度(元素个数)
    rpush:从右边(尾部)插入数据
    rpop:从右边(尾部)删除数据
    lrem:移除指定个数的指定元素
  • 集合(set)

    
    sadd:添加元素
    scard:统计元素个数
    sdiff:求差集
    sinter:求交集
    smembers:获取指定集合的所有成员
    sismember:判断是否在集合中
    smove:移动元素
    spop:随机的删除一个元素
    srandmember:随机获取指定个数的元素
    srem:移除元素
    sunion:求并集
  • 有序集合(sorted set)

    
    zadd:添加元素
    zcard:统计个数
    zcount:指定分数区间内的元素数量
    zrange:返回指定索引范围内的元素
    zrangebyscore:返回指定分数区间的元素
    zrank:返回指定成员的索引值
    zrem:移除元素
    zscore:获取指定元素的排序指标(分数)

    python操作redis

    • 安装扩展库:pip3 install redis

    • 简介:

      redis扩展库中有两个类,Redis和StrictRedis,StrictRedis实现了官方的命令,Redis是它的子类,兼容老版本。扩展库没有实现select方法,可以通过连接时指定使用的库。
    • 操作:

      • 简单连接

        • 导入redis,创建Redis对象,所有命令行下的命令在代码中都是Redis对象的方法

      • 连接池

        • 多个redis对象使用同一个连接池进行连接,避免了多次连接、断开等操作的系统开销

      • 使用管道(pipeline)

        • 可以记录多个操作,然后一次将操作发送至数据库,避免了多次向服务器发送少量的数据

        • 多个操作可以依次进行保存,然后发送,也可以进行连贯操作

    使用工具远程连接redis

    • 修改配置文件:/etc/redis/redis.conf,bind改为0.0.0.0

    • 修改之后重启服务即可。

你可能感兴趣的:(数据库)