redis 常用命令行
一、key 相关:
(1)redis允许模糊查询 key(keys *) 有3个通配符 *、?、[] (2)randomkey:返回随机key (3)type key:返回key存储的类型 (4)exists key:判断某个key是否存在 (5)del key:删除key
FLUSHALL: 删除所有key(慎用)
二、数据操作:
Redis
支持五种数据类型:string
(字符串),hash
(哈希),list
(列表),set
(集合)及 zset
(sorted set:有序集合)。
1. string(字符串)
一个key对应一个value。一个键最大能存储512MB。string类型是二进制安全的。
(1)set key value [ex 秒数] [px 毫秒数] [nx/xx] 如果ex和px同时写,则以后面的有效期为准 nx:如果key不存在则建立 xx:如果key存在则修改其值 (2)get key:取值 (3)mset key1 value1 key2 value2 一次设置多个值 (4)mget key1 key2 :一次获取多个值 (5)setrange key offset value:把字符串的offset偏移字节改成value 如果偏移量 > 字符串长度,该字符自动补0x00 (6)append key value :把value追加到key 的原值上 (7)getrange key start stop:获取字符串中[start, stop]范围的值 对于字符串的下标,左数从0开始,右数从-1开始 注意:当start>length,则返回空字符串 当stop>=length,则截取至字符串尾 如果start所处位置在stop右边,则返回空字符串 (8)getset key nrevalue:获取并返回旧值,在设置新值
2. hash(哈希)
Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。每个 hash 可以存储 232 - 1 键值对(40多亿)。
(1)hset myhash field value:设置myhash的field为value (2)hsetnx myhash field value:不存在的情况下设置myhash的field为value (3)hmset myhash field1 value1 field2 value2:同时设置多个field (4)hget myhash field:获取指定的hash field (5)hmget myhash field1 field2:一次获取多个field (6)hincrby myhash field 5:指定的hash field加上给定的值 (7)hexists myhash field:测试指定的field是否存在 (8)hlen myhash:返回hash的field数量 (9)hdel myhash field:删除指定的field (10)hkeys myhash:返回hash所有的field (11)hvals myhash:返回hash所有的value (12)hgetall myhash:获取某个hash中全部的field及value
3. list(列表)
Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。列表最多可存储 232 - 1 元素 (4294967295, 每个列表可存储40多亿)。
(1)lpush key value:把值插入到链表头部 (2)rpush key value:把值插入到链表尾部 (3)lpop key :返回并删除链表头部元素 (4)rpop key: 返回并删除链表尾部元素 (5)lrange key start stop:返回链表中[start, stop]中的元素 (6)lrem key count value:从链表中删除value值,删除count的绝对值个value后结束 count > 0 从表头删除 count < 0 从表尾删除 count=0 全部删除 (7)ltrim key start stop:剪切key对应的链接,切[start, stop]一段并把改制重新赋给key (8)lindex key index:返回index索引上的值
4. set(集合)
Redis的Set是string类型的无序集合。值不重复。
(1)sadd key value1 value2:往集合里面添加元素 (2)smembers key:获取集合所有的元素 (3)srem key value:删除集合某个元素 (4)spop key:返回并删除集合中1个随机元素(可以坐抽奖,不会重复抽到某人) (5)srandmember key:随机取一个元素 (6)sismember key value:判断集合是否有某个值 (7)scard key:返回集合元素的个数 (8)smove source dest value:把source的value移动到dest集合中 (9)sinter key1 key2 key3:求key1 key2 key3的交集 (10)sunion key1 key2:求key1 key2 的并集 (11)sdiff key1 key2:求key1 key2的差集 (12)sinterstore res key1 key2:求key1 key2的交集并存在res里
5. zset(sorted set:有序集合)
Redis zset 和 set 一样也是string类型元素的集合。且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。
(1)zadd key score1 value1:添加元素 (2)zrange key start stop [withscore]:把集合排序后,返回名次[start,stop]的元素
默认是升续排列 withscores 是把score也打印出来 (3)zrank key member:查询member的排名(升序0名开始) (4)zrangebyscore key min max [withscores] limit offset N:集合(升序)
排序后取score在[min, max]内的元素,并跳过offset个,取出N个 (5)zrevrank key member:查询member排名(降序 0名开始) (6)zremrangebyscore key min max:按照score来删除元素,删除score在[min, max]之间 (7)zrem key value1 value2:删除集合中的元素 (8)zremrangebyrank key start end:按排名删除元素,删除名次在[start, end]之间的 (9)zcard key:返回集合元素的个数 (10)zcount key min max:返回[min, max]区间内元素数量
redis 常用命令行的更多相关文章
- Redis常用命令
Redis常用命令Redis提供了丰富的命令对数据库和各种数据类型进行操作,这些命令可以再Linux终端使用.1.键值相关命令2.服务器相关命令 一.键值相关命令 1.get get 键值 当 key ...
- 第2讲 Redis常用命令与高级应用
目录 一.redis数据类型 5. sorted sets类型和操作 二.Redis常用命令 1.键值相关命令 2.服务器相关命令 三. redis高级应用 1. 给redis服务器设置密码 2.持久 ...
- Redis常用命令手册:服务器相关命令
Redis提供了丰富的命令(command)对数据库和各种数据类型进行操作,这些command可以在Linux终端使用.在编程时,比如各类语言包,这些命令都有对应的方法.下面将Redis提供的命令做一 ...
- Redis常用命令与高级应用
附: 127.0.0.1:6379> set xiaofei 小飞 OK 127.0.0.1:6379> get xiaofei "\xe5\xb0\x8f\xe9\xa3\x9 ...
- redis配置密码 redis常用命令
redis配置密码 1.通过配置文件进行配置yum方式安装的redis配置文件通常在/etc/redis.conf中,打开配置文件找到 [plain] view plain copy #requi ...
- Linux 常用命令行
Linux常用命令行 第一部分: cd命令 第二部分:文件操作 第三部分:压缩包操作
- vi 常用命令行
vi 常用命令行 1.vi 模式 a) 一般模式: vi 处理文件时,一进入该文件,就是一般模式了. b) 编辑模式:在一般模式下可以进行删除,复制,粘贴等操作,却无法进行编辑操作.等按下‘i,I ...
- GCC常用命令行一览表
GCC常用命令行一览表 这些常用的 gcc/g++ 命令行参数,你都知道么?1. gcc -E source_file.c-E,只执行到预编译.直接输出预编译结果. 2. gcc -S source_ ...
- Linux - 常用命令行(一)
今天和大家分享一些最基本常用命令行:也是作为新手最应该了解掌握的 ls 命令:用来显示指定工作目录下内容 dir命令:与ls命令一致 cd 命令:变化工作目录 pwd命令:显示用户当前的工作路径,显 ...
随机推荐
- spring整合springMVC、mybatis、shiro
jar包: <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding& ...
- 配置本地目录作为yum端
---恢复内容开始--- 最近在配置gnome-session中发现需要太多依赖的包,又由于实验室使用的是局域网,没有办法连接网络,所以想着配置本地yum安装.在网上找了一些资料,经过整理,把自己这次 ...
- Could not find a version that satisfies the requirement numpy>=1.7.0 (from pan das==0.17.0) (from versions: ) No matching distribution found for numpy>=1.7.0 (from pandas==0.17.0)
今天晚上一直在安装pandas,天杀的,真的是太难了.后来发现提示: Could not find a version that satisfies the requirement numpy> ...
- C# 微信h5支付
相关文档 https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=9_20&index=1 需要准备 公众号ID.商户号.商家私钥 1.登 ...
- 「newbee-mall新蜂商城开源啦」1000 Star Get !仓库Star数破千!记录一下
新蜂商城已经开源了 3 个多月左右的时间,在 2019 年的年末,仓库的 Star 数量冲破了 1000,整理本篇文章的时间是 2020 年 1 月 12 日,目前的 Star 数量是 1180 左右 ...
- asp.net core 3.x 通用主机是如何承载asp.net core的-上
一.前言 上一篇<asp.net core 3.x 通用主机原理及使用>扯了下3.x中的通用主机,刚好有哥们写了篇<.NET Core 3.1和WorkerServices构建Win ...
- 【Java基础总结】总结
总想着把学习的过程全都记录下来 以便某一时刻回头的时候,还能看见走过的路 对于基础来说,即使不回头看,也知道这条路是什么样子的 记录不记录,都无所谓 况且我不是专业的记录者,不记录比记录好 实在想不起 ...
- js字符数组转化为数字数组
先谈一谈需求,我有一个字符串数组,数组内容是字符类型的数字,需要把字符类型的数字转换为数字类型,找了找资料,发现牛人真是多,把前辈的经验总结一下. 例子 ['1','2','3'] => [1, ...
- spring-boot内嵌三大容器https设置
spring-boot内嵌三大容器https设置 spring-boot默认的内嵌容器为tomcat,除了tomcat之前还可以设置jetty和undertow. 1.设置https spring-b ...
- docker制作cenos+php56+nginx镜像
首先你环境要安装好docker 1 获取centos镜像. docker search centos 选取第一个官方镜像. docker pull docker.io/centos 新建镜像挂载目录 ...