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命令:显示用户当前的工作路径,显 ...
随机推荐
- Mybatis入门程序编写
执行原理 入门程序编写 1.pom.xml 文件 <dependencies> <dependency> <groupId>mysql</groupId> ...
- 物理ceph集群+K8s
前提条件 在Ceph为k8s创建一个pool ceph osd pool create k8s 128 创建admin用户 ceph auth get-or-create client.admin m ...
- 原生javascript 基础动画原理
一.实现原理: 1.开定时器前先清除定时器 2.设置定时器 3.当前元素的位置 + 每一步的长度 4.当元素当前位置超过目标点时,把当前位置==目标点 5.设置元素位置,开始运动 6.判断当前位置如果 ...
- 在idea中运行GitHub项目
1.首先在本地建一个文件夹,比如qm 2. 在GitHub中找到你所运行项目的路径 3.在idea中[File]-->[New]--->[Project from Version Cont ...
- linux下挂载硬盘出错的解决方法
我的电脑是 Uuntu16.04 + win10 双系统,今天在Ubuntu中打开D盘时报错 Error mounting /dev/sda5 原因是D盘的格式是ntfs,在linux中会出现不识别的 ...
- Vue中echarts的基本用法
前言:同大多数的前端框架一样,先读官网的使用方法.学会基本使用后,在实例中找到自己想要demo.拿过来改一改,一个echarts图表就形成,毕竟人家做就是为了方便使用. 我是在vue中下面直接使用的e ...
- DP-直线分割递推
在 DP 里有一类是直线分割平面的问题 , 也是属于递推 类的 . 一 . 直线分割平面的问题 先考虑第一个小问题 : n 条直线最多可以将平面分割成几部分 ? 想想 最优的分割方法是怎样的呢 ? ...
- C# 二分法的解读
注:一定是有序的数组,才可以使用这种算法,如果数组没有排序则先进行排序后再调用此方法. 1.二分法是做什么的呢? 当然是查找数组中的数据了,开个玩笑,哈哈哈. 2.为啥要用这种方式呢? 二分顾名思义, ...
- iOS使用fastlane自动化打包到fir(最全最详细流程)
# iOS使用fastlane自动化打包到fir(最全最详细流程)1. **首先确认是否安装了ruby,终端查看下ruby版本**> ruby -v终端输出:ruby 2.4.1p111 (20 ...
- Django CBV方法装饰器
from django.utils.decorators import method_decorator 1.在post 或 get方法 添加 @method_decorator(装饰器) 2.给类添 ...