Redis 简介与命令操作
redis 是 key-value 的数据,所以每个数据都是一个键值对,键的类型是字符串;
值的类型分为五种:string、hash、list、set(集合)、zset(有序集合)。
数据操作的全部命令:http://redis.cn/commands.html
一、String
概述:String 是 redis 最基本的类型,最大能存储512MB的数据,String 类型是二进制安全的,
即可以存储任何数据、比如数字、图片、序列化对象等。
1、设置
a、设置键值: set key value
b、设置键值及过期时间,以秒为单位: setex key 时间值 value
c、设置多个键值: mset key value [key value ……]
示例:mset a 1 b 2
2、获取
a、根据键获取值,如果键不存在则返回 null: get key
b、根据多个键获取多个值: mget key [key ……]
示例:mget a b
3、运算 要求:值是字符串类型的数字
a、将 key 对应的值加1: incr key
b、将 key 对应的值减1: decr key
c、将 key 对应的值加整数: incrby key 整数值
d、将 key 对应的值减整数: decrby key 整数值
4、其它
a、追加值: append key value
b、获取值长度: strlen key
注意:只要涉及到 set 存的都是字符串
二、key
1、查找键,参数支持正则: keys pattern
示例:keys *(查找所有)
2、判断键是否存在,如果存在返回 1,不存在返回 0: exists key
3、查看键对应的 value 类型: type key
4、删除键和对应的值: del key [key……]
5、设置过期时间以秒为单位: expire key 时间
6、查看有效时间,以秒为单位: ttl key(-1 表示没有设置过期时间)
三、hash
概述:hash 用于存储对象 eg:{name:"tom",age:18}
1、设置
a、设置单个值: hset key field value
示例:hset p1 name tom,hset p1 age 18
b、设置多个值: hmset key field value [field value ……]
示例:hmset p2 name tom age 18
2、获取
a、获取一个属性的值: hget key field
b、获取多个属性的值: hmget key field [field ……]
c、获取所有属性和值: hgetall key
d、获取所有的属性: hkeys key
e、获取所有的值: hvals key
f、返回包含属性的个数: hlen key
3、其它
a、判断属性是否存在: hexists key field(存在返回 1,不存在返回 0)
b、删除属性和值: hdel key field [field ……]
c、返回值的字符串长度: hstrlen key field
四、list
概述:列表的元素类型为 string ,按照插入顺序排序,在列表的头部或尾部添加元素
1、设置
a、在头部插入: lpush key value [value ……]
b、在尾部插入: rpush key value [value ……]
c、在一个元素的前|后插入新元素: linsert key before|after pivot value
示例 :linsert s1 after 1 4
d、设置指定索引的元素值: lset key index value
注意:index 从0开始;索引值可以是负数,表示偏移量是从 list 的尾部开始,如 -1 表示最后一个元素
2、获取
a、移除并返回 key 对应的 list 的第一个元素: lpop key
b、移除并返回 key 对应的 list 的最后一个元素: rpop key
c、返回存储在 key 的列表中的指定范围的元素: lrange key start end
示例:lrange s1 0 2 / lrange s1 0 -1
注意:start end 都是从 0 开始;偏移量可以是负数
3、其它
a、剪裁列表,改为原集合的一个子集: ltrim key start end
注意:start end 都是从 0 开始,偏移量可以是负数
b、返回存储在 key 里的 list 的长度: llen key
c、返回列表中索引对应的值: lindex key index
五、set
概述:无序集合,元素类型为 string 类型,元素具有唯一性,不重复
1、设置
a、添加元素: sadd key member [member ……]
2、获取
a、返回 key 集合中所有元素: smembers key
b、返回集合元素个数: scard key
3、其它
a、求多个集合的交集: sinter key [key ……]
b、求多个集合的差集: sdiff key [key ……]
c、求多个集合的合集: sunion key [key ……]
d、判断元素是否在集合中: sismember key member(存在返回 1,不存在返回 0)
六、zset
概述:
a、有序集合,元素类型为 string,元素具有唯一性,不能重复
b、每个元素都会关联一个 double 类型的 score(表示权重),通过权重的大小排序,元素的 score 可以相同
1、设置
a、添加: zadd key score member [score member ……]
2、获取
a、返回指定范围的元素: zrange key start end
b、返回元素个数: zcard key
c、返回有序集合 key 中,score 在 min 和 max 之间的元素的个数: zcount key start end
d、返回有序集合 key 中,成员 member 的 score 值: zscore key member
(完结)
Redis 简介与命令操作的更多相关文章
- Jedis对Redis的常用命令操作
本篇主要总结一些Jedis对Redis的常用命令操作: 1.对key操作命令 2.对String操作命令 3.对List操作命令 4.对Set操作命令 5.对Hash操作命令 6.排序操作指令 一.项 ...
- 【python】-- Redis简介、命令、示例
Redis简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化 ...
- 2、redis原生的命令操作不同数据类型
一.常用数据类型简介: redis常用五种数据类型:string,hash,list,set,zset(sorted set). 1.String类型 String是最简单的类型,一个key对应一个v ...
- Redis简介+常用命令
Redis=REmote DIctionary Server Redis是一个使用C语言编写的开源数据库,是高性能的key-value数据库,是内存数据库,支持数据持久化. Redis常用数据类型: ...
- redis的基础命令操作
文章目录 前言 一.字符串类型 二.哈希类型 三.列表类型 四.集合类型 五.有序集合类型 六.通过命令 前言 redis的数据结构 redis存储的是key,value格式的数据,其中的key是字符 ...
- 【Redis】使用Jedis操作Redis
Jedis介绍 jedis就是集成了redis的一些命令操作,封装了redis的java客户端. Jedis使用 使用jedis需要引入jedis的jar包,下面提供了maven依赖 jedis.ja ...
- Redis命令操作简介及五种value数据类型
转自:https://blog.csdn.net/ty4315/article/details/52050721 Redis是使用键值存储数据,key必须是字符串value支持五种数据类型,最新版本又 ...
- Spring+SpringMVC+MyBatis+easyUI整合进阶篇(九)Linux下安装redis及redis的常用命令和操作
redis简介 Redis是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis与其他key-value缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存 ...
- Redis系列(二):Redis的数据类型及命令操作
原文链接(转载请注明出处):Redis系列(二):Redis的数据类型及命令操作 Redis 中常用命令 Redis 官方的文档是英文版的,当然网上也有大量的中文翻译版,例如:Redis 命令参考.这 ...
随机推荐
- LA3971 组装电脑
思路:二分,就是在不超过b的预算下,使得品质的最小值最大化.关键还是判断函数吧. 假设答案为x,判断函数,就是每一个种类的配件的品质最基本的品质要大于x,然后找出最小的值.这样的配件品质之和的价格要小 ...
- Python--day10(函数(使用、分类、返回值))
1. 函数 1. 函数: 完成特定功能的代码块,作为一个整体,对其进行特定的命名,该名字就代表这函数 现实中:很多问题要通过一些工具进行处理 => 可以将工具提前生产出来并命名 =>通 ...
- [Alpha阶段]第八次Scrum Meeting
Scrum Meeting博客目录 [Alpha阶段]第八次Scrum Meeting 基本信息 名称 时间 地点 时长 第八次Scrum Meeting 19/04/12 新主楼F座2楼 35min ...
- 项目笔记-vue
记录新建vue项目之后的种种. 2019年3月12日,从git上下载了一个vue后台模板的项目,git地址:https://github.com/lin-xin/vue-manage-system ( ...
- JVN的理解
写的很不错,通俗易懂:http://www.cnblogs.com/leefreeman/p/7344460.html
- Java Web的简单项目部署
目录 项目介绍 安装并配置jdk和tomcat 安装并配置mysql 使用Eclipse导出war包 部署war包到服务器 导出项目的数据库 将项目的数据库导入服务器的数据库中 修改配置 重启Tomc ...
- POJ 1915 Knight Moves
POJ 1915 Knight Moves Knight Moves Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 29 ...
- ES6 对象增强
对象字面量语法扩展: 1, 属性初始化语法简写:给一个属性赋一个变量值,如果变量名和属性名相同,可以省略变量名和冒号,直接写属性名,js引擎在执行代码的时候,自动查找 和属性命名相同的变量并赋值. l ...
- 树 相关知识总结以及Java实现
最近在温习树相关的知识,并且用java实现了一下树的遍历相关,先贴上代码供大家参考吧. package tree_problems; import java.util.ArrayDeque; impo ...
- package---包
一,包 包(package) 用于管理程序中的类,主要用于解决类的同名问题.包可以看成目录. 包的作用: [1] 防止命名冲突. [2] 允许类组成一个单元(模块),便于管理和维护 [3] 更好的保护 ...