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的排序元素

Redis快速入门到精通的更多相关文章

  1. Redis从入门到精通:初级篇

    原文链接:http://www.cnblogs.com/xrq730/p/8890896.html,转载请注明出处,谢谢 Redis从入门到精通:初级篇 平时陆陆续续看了不少Redis的文章了,工作中 ...

  2. Redis从入门到精通:初级篇(转)

    原文链接:http://www.cnblogs.com/xrq730/p/8890896.html,转载请注明出处,谢谢 Redis从入门到精通:初级篇 平时陆陆续续看了不少Redis的文章了,工作中 ...

  3. Redis快速入门:安装、配置和操作

    本文是有关Redis的系列技术文章之一.在之前的文章中介绍了<Redis快速入门:初识Redis>,对Redis有了一个初步的了解.今天继续为大家介绍Redis如何安装.配置和操作. 系列 ...

  4. Redis 快速入门

    Redis 快速入门 谈到Redis,大家应该都不陌生.它是用c语言开发的一个高性能键值数据库,主要用于缓存领域.本章通过Redis的安装,Redis的五大数据类型,Redis的Java客户端,Red ...

  5. Scala快速入门到精通 视频教程 百度云网盘下载地址

    Scala快速入门到精通  视频教程 百度云网盘下载地址 Scala快速入门到精通 下载地址链接:https://pan.baidu.com/s/1bqGIKyF 密码:ojwd

  6. Redis快速入门及实现

    redis的概念 (1)Redis的优点 以下是Redis的一些优点. 异常快 - Redis非常快,每秒可执行大约110000次的设置(SET)操作,每秒大约可执行81000次的读取/获取(GET) ...

  7. Redis快速入门:初识Redis

    [IT168 专稿]在之前的文章中介绍了<Redis快速入门:选择Key-Value Store>,今天给大家介绍Redis的入门知识.Redis是一个开源的使用ANSI C语言编写.支持 ...

  8. [你必须知道的NOSQL系列]专题二:Redis快速入门

    一.前言 在前一篇博文介绍了MongoDB基本操作,本来打算这篇博文继续介绍MongoDB的相关内容的,例如索引,主从备份等内容的,但是发现这些内容都可以通过官方文档都可以看到,并且都非常详细,所以这 ...

  9. 二:Redis快速入门及应用

    Redis的使用难吗?不难,Redis用好容易吗?不容易.Redis的使用虽然不难,但与业务结合的应用场景特别多.特别紧,用好并不容易.我们希望通过一篇文章及Demo,即可轻松.快速入门并学会应用. ...

随机推荐

  1. Wireshark抓包工具解析HTTPS包

    目录 一.遇到的问题 二.解决方案 1. 动态生成签名证书 2. Wireshark配置 3. 最终效果 一.遇到的问题 本学期的计算机网络课程需要使用到Wireshark抓包工具进行网络抓包实验,原 ...

  2. Ajax结合THymeleaf使用

    <script type="text/javascript"> //通过$("标签"),也可以使用id的点击事件 $("a"). ...

  3. ArcMap操作练习题目及答案

    题目: 1.主观题(20分)用文字说明中学选址的过程,并说明分析过程中所用的空间分析方法和分析工具. 2.主观题(10分)计算目标区内道路网的密度.(数据框1) 3.主观题(20分)对roadnet里 ...

  4. Golang 语言特性

    1. 函数 与c 语言不同,go 语言中,函数的参数和返回值都由栈来存储. 传值:函数调用时会复制参数,被调用方和调用方持有两份不相关的两份数据 传引用:函数调用时会传递参数指针,被调用方和调用方持有 ...

  5. Linux常用性能诊断命令详解

    top top命令动态地监视进程活动与系统负载等信息. 使用示例: top 效果如下图: 以上命令输出视图中分为两个区域,一个统计信息区,一个进程信息区. 统计信息区: 第一行信息依次为:系统时间.运 ...

  6. gdk-pixbuf tiff_image_parse函数整数溢出漏洞

    受影响系统:gdk-pixbuf gdk-pixbuf 2.36.6描述:CVE(CAN) ID: CVE-2017-2870 gdk-pixbuf是一个用于以各种格式加载图像和像素缓冲处理的库. 使 ...

  7. 内置方法 __str__ __repr__

    内置方法(双下方法,魔术方法) 在不需要程序员定义,本身就存在的类中的方法就是内置方法 内置方法:  __名字__ __init__   不需要我们主动调用,而是在实例化的时候内部自动调用的,存在一种 ...

  8. CodeForces Round #760 (Div. 3)

    A. Polycarp and Sums of Subsequences 题目大意: 给七个不降序的数字,为三个数组合后得到的七种答案,求原来的三个数是哪些 思路: 由样例不难发现,第一个一定是三个数 ...

  9. VT 入门番外篇——初识 VT

    写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...

  10. mysql主从异步复制过程

    mysql是现在普遍使用的数据库,但是如果宕机了必然会造成数据丢失.为了保证mysql数据库的可靠性.就要会一些提高可靠性的技术. 主从复制原理如下. slave(从服务器) master(主服务器) ...