【Redis】Redis的常规操作命令
NoSQL是一种非关系型数据库,非关系型数据库库和传统的关系型数据库不同,非关系性体现在不需要依赖表进行数据存储。常见的非关系型数据库有Redis、MonoDB、HBase等,这些是基于key-value进行数据存储,采用命令操作。关系型数据库的关系体现在对操作表上面,比如Oracle,MySQL、SQLServer,采用SQL操作。
Redis是非关系型数据库的一种,它有如下特点:
- 采用C语言编写,基于内存操作,被称为内存数据库。
- 存储的数据结构是key-value,value值可以为字符串、哈希、列表、集合、有序结构。
- Redis的存储数据异常快。
- Redis支持持久化操作,将内存数据同步过数据文件中。
- Redis还提供了事务、消息传递的功能。
下面介绍一些Redis的常规操作命令:
管理Redis键命令:
DEL key 此命令删除键,如果存在
EXISTS key 此命令检查该键是否存在
EXPIRE key seconds 指定键的过期时间
PEXPIRE key milliseconds 设置键以毫秒为单位到期
PERSIST key 移除过期的键
KEYS pattern 查找与指定模式匹配的所有键(KEYS * 用于查看所有的key)
DUMP key 该命令返回存储在指定键的值的序列化结果
RANDOMKEY 从Redis返回随机键
RENAME key newkey 更改键的名称
TYPE key 返回存储在键的数据类型的值
PTTL key 以毫秒为单位获取剩余时间的到期键
TTL key 获取键到期的剩余时间
字符串操作命令:
SET key value 此命令用于在指定键设置值
GET key 键对应的值
GETSET key value 设置键的字符串值,并返回旧值
STRLEN key 得到存储在键的值的长度
MSET key value [key value ...] 设置多个键和多个值
INCR key 键的整数值加1
INCRBY key value 键的整数值加value
DECR key 键的整数值减1
DECRBY key value 键的整数值减value
APPEND key value 为原来键值追加value
哈希操作命令:
HMSET key field1 value1 [field2 value2 ] 设置多个哈希字段的多个值
HSET key field value 设置哈希字段的字符串值
HGET key field 获取存储在指定的键散列字段的值
HMGET key field1 [field2] 获得所有给定的哈希字段的值
HLEN key 获取哈希表中的长度
HKEYS key 获取所有哈希表中的字段
HDEL key field2 [field2] 删除一个或多个哈希字段
HEXISTS key field 判断一个哈希字段存在与否
列表操作命令:
LPUSH key value1 [value2] 在前面加上一个或多个值的列表
RPUSH key value1 [value2] 在末尾加上一个或多个值的列表
LRANGE key start stop 返回存储在key列表的特定元素,0是第一元素(该列表的头部),1是列表的下一个元素, -1是该列表的最后一个元素,-2倒数第二个
LLEN key 获取列表的长度
LPOP key 从头部删除一个元素,并返回该删除的元素
RPOP key 从尾部删除一个元素,并返回该删除的元素
LTRIM key begin end 对列表元素剪切,保留指定key范围内的数据
LINDEX key index 从一个列表其索引获取对应的元素
LPUSHX key value 在前面加上一个值列表,仅当列表中存在,不成功返回0
RPUSHX key value 在末尾加上一个值列表,仅当列表中存在,不成功返回0
LREM key count value 移除等于value的元素,当count>0时,从表头开始查找,移除count个;当count=0时,从表头开始查找,移除所有等于value的;当count<0时,从表尾开始查找,移除|count| 个
LINSERT key before|after pivot value 将值插入到pivot的前面或后面。如果有多个pivot,以离表头最近的为准
LSET key index value 设置列表指定索引的值,如果索引不存在则报错
集合操作命令:
SADD key member [member ...] 向集合增加元素
SREM key member [member ...] 从集合删除元素
SMEMBERS key 获得集合中的所有元素
SISMEMBER key member 判断元素是否在集合中
SCARD key 获得集合中元素的个数
SRANDMEMBE key [count] 随机获得集合中的元素
SPOP key 从列表中弹出一个元素,弹出元素被删除,不在原来的集合中
SDIFF key [key ...] 执行差集运算。集合A与集合B的差值表示为A-B
SINTER key [key ...] 执行交集运算。集合A与集合B的交集表示为A∩B
SUNION key [key ...] 执行并集运算。集合A与集合B的并集
SMOVE key1 key2 value 将第一个集合元素value移动到第二个集合中
SDIFFSTORE key key1 key2 执行差集运算并且存储到另一个set中
SINTERSTORE key key1 key2 执行交集运算并且存储到另一个set中
SUNIONSTORE key key1 key2 执行并集运算并且存储到另一个set中
有序集合操作命令:
ZADD key score1 member1 [score2 member2] 向有序集合添加一个或多个成员,或者更新已存在成员的分数
ZCARD key 获取有序集合的成员数
ZCOUNT key min max 计算在有序集合中指定区间分数的成员数
ZSCORE key member 获得元素的分数
ZRANGE key start stop [WITHSCORES] 通过索引区间返回有序集合成指定区间内的成员(小到大)
ZREVRANGE key start stop [WITHSCORES] 通过索引区间返回有序集合成指定区间内的成员(大到小)
ZRANGEBYSCORE key score1 score2 根据排序索引的scores来返回元素
ZRANK key member 返回元素在集合中的排序位置,就是索引值
ZREVRANK key member 返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序
ZREM key member 删除名称为key的zset中的元素member
ZINCRBY key number member 可以增加一个元素的分数,返回值是更改后的分数
ZREMRANGEBYRANK key start stop 按照元素分数从小到大顺序删除指定范围内所有的元素
ZREMRANGEBYSCORE key min max 删除集合中在给定排序区间的元素 (按score删除)
【Redis】Redis的常规操作命令的更多相关文章
- Redis系列之key操作命令与Redis中的事务详解(六)
序言 本篇主要目的有二: 1.展示所有数据类型中key的所有操作命令,以供大家学习,查阅,更深入的挖掘redis潜力. 2.掌握redis中的事务,让你的数据完整性一致性拥有更优的保障. redis命 ...
- Redis基础类型常用操作命令
Redis基础类型常用操作命令 概念:Redis是用C语言开发的一个开源的高性能键值对数据库. 特征: 数据间没有必然的联系 内部采用单线程机制进行工作 高性能 多数据类型支持 字符串类型 Strin ...
- [redis] Redis 配置文件置参数详解
################################ 基础配置 ################################# #daemonize no 默认情况下, redis 不 ...
- ServiceStack.Redis——Redis于.net向上client解
ServiceStack.Redis--Redis于.net向上client解 源代码和使用: https://github.com/ServiceStack/ServiceStack.Redis 样 ...
- Redis --> Redis的接口介绍及使用
Redis的接口介绍及使用 Redis是一个远程内存数据库,它不仅性能强劲,而且还具有复制特性以及为解决问题而生的独一无二的数据模型.Redis提供了5种不同类型的数据结构,各式各样的问题都可以很自然 ...
- redis.Redis与redis.StrictRedis区别
redis-py提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使用官方的语法和命令(比如,SET命令对应与StrictRedi ...
- Windows下Redis缓存服务器的使用 .NET StackExchange.Redis Redis Desktop Manager 转发非原创
Windows下Redis缓存服务器的使用 .NET StackExchange.Redis Redis Desktop Manager Redis缓存服务器是一款key/value数据库,读11 ...
- linux上面是否有安装redis,redis启动
1.进入/usr/local/src目录,下载redis # cd /usr/local/src# wget http://download.redis.io/releases/redis-4.0.6 ...
- [Redis] redis在centos下安装测试
下载软件,使用命令wget xxx,参数:url 例如: wget http://download.redis.io/releases/redis-3.0.0.tar.gz 解压缩,使用命令tar,参 ...
随机推荐
- RefreshListView中onItemClick点击错位
在使用RefreshListView的时候.发现有使用 /**** * parent.getAdapter().getItem(position)√ * adpter.getItem(id);√ * ...
- ASP入门(一)环境的搭建
突然转战ASP是因为,手头要实现一个类似管理系统的东东,正好把ASP再从头学习一下下. ASP可以做什么? ASP,它的原文是 Active Server Pages . ASP最核心的扩展内容:Ac ...
- Eclipse导入git上的maven web项目 部署 - lpshou
http://www.tuicool.com/articles/fqm2Qf 推酷 文章 微博 主题 站点 活动 应用 周刊 登录 Eclipse导入git上的maven web项目 部署 - ...
- 實戰ESXi 5設置MPIO 打造IP-SAN負載平衡容錯
http://www.netadmin.com.tw/article_content.aspx?sn=1305100002 測試MPIO負載平衡及容錯移轉機制VMware vSphere ESXi主機 ...
- POSTGRESQL 支持正则表达式
昨天遇到了一个奇葩的问题,需要在WHERE条件里面添加正则表达式,抱着试试看的态度,查看了一下postgresql,发现确实可以支持正则,例如: select * from user where em ...
- Java 希尔排序
效率:O(n*logN) package sort; import utils.Util; /** * 希尔排序 * 以h为间隔,进行比較. 按一定公式.先求出最大的间隔h * 当h值大时,须要移动的 ...
- Ulua_toLua_基本案例(八)_LuaAccessingArray
Ulua_toLua_基本案例(八)_LuaAccessingArray using UnityEngine; using LuaInterface; public class AccessingAr ...
- 如何使用 MSBuild.exe 生成解决方案中的特定目标
以前都是直接使用VS或者msbuild生成整个解决方案,或者只构建单个工程. 这回使用msbuild构建单个工程的时候出现了问题,因为工程中使用了SolutionDir这个宏来定位第三方库路径. 对于 ...
- spark rdd Transformation和Action 剖析
1.看到 这篇总结的这么好, 就悄悄的转过来,供学习 wordcount.toDebugString查看RDD的继承链条 所以广义的讲,对任何函数进行某一项操作都可以认为是一个算子,甚至包括求幂次,开 ...
- DirectX中文手册
目 录 第一章 DirectX基础(初级篇) 第一节 什么是DirectX 一.什么是DirectX ? 二.DirectX的组成部分 三.关于DirectDraw 四.为什么要使用DirectD ...