• Redis快速入门到精通


    Redis

    Redis是一个开源的使用ANSI C语言编写、支持网络、 可基于内存亦可持久化的日志型、Key-Value型 NoSQL数据库,并提供多种语言的API。从2010年3 月15日起,Redis的开发工作由VMware主持。从 2013年5月开始,Redis的开发由Pivotal赞助。

    一、配置选项

    命令 示例 说明
    daemonize deamonize yes 是否启用后台运行,默认”no”
    port port 6379 设置端口号,默认6379
    lgfile logfile日志文件 设置日志文件
    databases databases 255 设置redis数据库总量
    dir dir 数据文件目录 设置数据文件存储目录
    requirepass requirepass 12345 设置使用密码

    二、通用命令

    命令 示例 说明
    select select 0 选择0号数据库
    keys keys * 查询所有
    dbsize dbsize 返回key的总数
    exists exists a 检查key=a是否存在
    del del a 删除key=a的数据
    expire expire hello 20 设置key=hello 20秒后过期
    ttl ttl hello 查看key=a的过期剩余时间

    三、数据结构

    1、String

    1.1 字符串类型

    key value
    hello world
    counter 3321
    bits 1001010

    1.2 字符串指令

    命令 示例 说明
    get get hello 获得key=hello的value
    set set hello world 设置key=hello,value=hello
    mset mset hello world java best 一次性设置多个kv
    mget mget hello java 一次性获取多个kv
    del del hello 删除key=hello
    incr/decr incr/decr count key值自增/自减1
    incrby/decrby incrby/decrby count 10 自增/自减 10

    2、Hash

    2.1 Hash键值结构

    • Hash类型用于存储结构化数据.
    • Hash可以看做是Map中的Map

    2.2 Hash 指令

    命令 示例 说明
    hget hget user:1:info age 获取hash中key=age的值
    hset hset user:1:info age 23 设置hash中age=23
    hmset hmset user:2:info age 30 name kaka 设置hash中age=30,name=kaka
    hmget hmget user:2:info age name 获取hash中age & name
    hgetall hgetall user:2:info 获取hash所有值
    hdel hdel user:1:info age 删除user:1的age

    3、List

    • List列表是简单的字符串列表,按照插入顺序排序。你 可以添加一个元素到列表的头部(左边)或者尾部 (右边)
    • 一个列表最多可以包含 2的32次方 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。

    3.1 list指令

    • rpush listkey c b a - 右侧插入
    • lpush listkey f e d - 左侧插入
    • rpop listkey - 右侧弹出
    • lpop listkey - 左侧弹出
    • llen listkey - 获取长度
    • lrange listkey 0 2
    • lrange listkey 1 -1 获取子集

    4、Set

    • Redis 的 Set 是 String 类型的无序集合。集合成员是 唯一的,这就意味着集合中不能出现重复的数据。
    • Redis 中集合是通过哈希表实现的,所以添加,删除, 查找的速度极快。
    • 集合中最大的成员数为 2的32次方 - 1 (4294967295, 每个集合可存储40多亿个成员)。

    4.1 Set指令

    命令 示例 说明
    sadd sadd user:1:follow it 添加user:1:follow属性it
    srem screm user:1:follow it 移除user:1:follow属性it
    scard scard user:1:follow 计算集合数量
    srandmember srandmember user:1:follow 3 随机挑选3个元素
    spop spop user:1:follow 随机弹出元素

    5、Zset

    • Redis 的 Zset 是 String 类型的有序集合。集合成员是 唯一的,这就意味着集合中不能出现重复的数据

    5.1 Zset指令

    命令 示例 说明
    zadd zadd player:rank 1000 ronaldo 900 messi 添加集合中的元素
    zrank zrank player:rank ronaldo 获取ronaldo的排名
    zrem zrem player:rank messi 删除messi的数据
    zrange zrange player:rank 0 -1 获得排序索引数据(0 -1是全部数据)
    zcount zcount player:rank 700 900 获得排序数据(score在700-900之间)
    zrangebyscore zrangebyscore player:rank 700 900 获得700-900的排序元素
  • 相关阅读:
    MySQL数据库的完全备份与恢复
    MySQL数据库之索引、事务、存储引擎详细讲解
    LNMP架构介绍与部署
    Haproxy搭建Web集群
    LAMP环境之MySQL服务安装详细过程
    MySQL主从复制详解
    LAMP环境之编译安装httpd服务
    搭建yum软件仓库,让你维护轻松自如
    Shell脚本一键安装Samba服务
    Shell脚本之冒泡排序
  • 原文地址:https://www.cnblogs.com/Fzeng/p/14395502.html
Copyright © 2020-2023  润新知