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的排序元素 |
Redis快速入门到精通的更多相关文章
- Redis从入门到精通:初级篇
原文链接:http://www.cnblogs.com/xrq730/p/8890896.html,转载请注明出处,谢谢 Redis从入门到精通:初级篇 平时陆陆续续看了不少Redis的文章了,工作中 ...
- Redis从入门到精通:初级篇(转)
原文链接:http://www.cnblogs.com/xrq730/p/8890896.html,转载请注明出处,谢谢 Redis从入门到精通:初级篇 平时陆陆续续看了不少Redis的文章了,工作中 ...
- Redis快速入门:安装、配置和操作
本文是有关Redis的系列技术文章之一.在之前的文章中介绍了<Redis快速入门:初识Redis>,对Redis有了一个初步的了解.今天继续为大家介绍Redis如何安装.配置和操作. 系列 ...
- Redis 快速入门
Redis 快速入门 谈到Redis,大家应该都不陌生.它是用c语言开发的一个高性能键值数据库,主要用于缓存领域.本章通过Redis的安装,Redis的五大数据类型,Redis的Java客户端,Red ...
- Scala快速入门到精通 视频教程 百度云网盘下载地址
Scala快速入门到精通 视频教程 百度云网盘下载地址 Scala快速入门到精通 下载地址链接:https://pan.baidu.com/s/1bqGIKyF 密码:ojwd
- Redis快速入门及实现
redis的概念 (1)Redis的优点 以下是Redis的一些优点. 异常快 - Redis非常快,每秒可执行大约110000次的设置(SET)操作,每秒大约可执行81000次的读取/获取(GET) ...
- Redis快速入门:初识Redis
[IT168 专稿]在之前的文章中介绍了<Redis快速入门:选择Key-Value Store>,今天给大家介绍Redis的入门知识.Redis是一个开源的使用ANSI C语言编写.支持 ...
- [你必须知道的NOSQL系列]专题二:Redis快速入门
一.前言 在前一篇博文介绍了MongoDB基本操作,本来打算这篇博文继续介绍MongoDB的相关内容的,例如索引,主从备份等内容的,但是发现这些内容都可以通过官方文档都可以看到,并且都非常详细,所以这 ...
- 二:Redis快速入门及应用
Redis的使用难吗?不难,Redis用好容易吗?不容易.Redis的使用虽然不难,但与业务结合的应用场景特别多.特别紧,用好并不容易.我们希望通过一篇文章及Demo,即可轻松.快速入门并学会应用. ...
随机推荐
- CVE-2021-3129:Laravel远程代码漏洞复现分析
摘要:本文主要为大家带来CVE-2021-3129漏洞复现分析,为大家在日常工作中提供帮助. 本文分享自华为云社区<CVE-2021-3129 分析>,作者:Xuuuu . CVE-202 ...
- LGP7890题解
前置芝士的光速幂技巧. 本题解不是正解,和正解唯一的差别在于对幂的处理. 我们能够发现有: \[F(n,m,k)=\frac 1 n \binom {n+m-1} m \] 证明见这里. 然后我们开始 ...
- springcloud报错-------关于 hystrix 的异常 FallbackDefinitionException:fallback method wasn't found
典型如下 第一种import java.util.List;@RestController@RequestMapping("/order")@DefaultProperties(d ...
- Linux----虚拟机克隆、快照、删除、
克隆 已经安装一台linux系统 还想要更多的,直接克隆CentOS即可 使用vm ware 的克隆操作 注意: 使用前先关闭目前已开启的虚拟机 快照 作用: 虚拟系统出现异常,需要回到原先的状态,此 ...
- Docker——概述
出现原因:开发接替运维的工作,将jar包连同(mysql,jdk)等环境上线 实现:java -> jar(环境) -> 打包项目带上环境(镜像) -> (Docker仓库:商店) ...
- SignalR 入门 .netCore实现聊天室
SignalR 入门 .netCore实现聊天室 本文根据微软SignalR 简介 | Microsoft Docs 和 ASP.NET Core SignalR 简介 | Microsoft Doc ...
- kubernetes集群节点多网卡,calico指定网卡
kubernetes集群节点多网卡,calico指定网卡 1.calico如果有节点是多网卡,所以需要在配置文件中指定内网网卡 spec: containers: - env: - name: DAT ...
- VS code 设置中文语言环境(实现语言切换自由)
1.打开vs code,然后按快捷键ctrl+shift+p,输入configure language>回车 2.选择Install Additional Languages... 3.在左侧选 ...
- 74CMS 3.0 SQL注入漏洞后台
代码审计工具:seay CMS:74CMS3.0 一. 启动环境 1.双击运行桌面phpstudy.exe软件 2.点击启动按钮,启动服务器环境 二.代码审计 1.双击启动桌面Seay源代码审计系统软 ...
- manjaro下使用scrcpy安卓设备投屏
scrcpy 安卓版本要大于等于 5.0 安装scrcpy及安卓工具包 yay -S scrcpy-git android-tools 打开手机 开发者模式->USB调试,将手机通过数据线连接电 ...