Redis数据类型Strings、Lists常用操作指令
Redis数据类型Strings、Lists常用操作指令
Strings常用操作指令
GET、SET相关操作
# GET 获取键值对
127.0.0.1:6379> get name
(nil)
# 设置失效时间的两种方式
# 设置键值对及过期时间
127.0.0.1:6379> setex name 10 enjoyitlife
OK
127.0.0.1:6379> get name
"enjoyitlife"
# 等待10s后再次获取
127.0.0.1:6379> get name
(nil)
# 设置键值对及过期时间
127.0.0.1:6379> SET name enjoyitlife EX 10
OK
#SETNX SET IF NOT EXIST 不存时在设置
127.0.0.1:6379> SETNX name "enjoyitlife"
(integer) 1
## 再次执行就不会设置了 因为Key已经存在了
127.0.0.1:6379> setnx name enjoyitlife
(integer) 0
# 获取键值对
127.0.0.1:6379> get name
"enjoyitlife"
# 删除键值对
127.0.0.1:6379> del name
(integer) 1
MSET MGET批量设置键值对
## MSET MGET 批量获取
127.0.0.1:6379> mset name enjoyitlife age 18
OK
127.0.0.1:6379> get name
"enjoyitlife"
127.0.0.1:6379> get age
"18"
127.0.0.1:6379> mget name age
1) "enjoyitlife"
2) "18"
INCR自增, INCRBY指定自增步长, INCRBYFLOAT 浮点数自增
# INCR INCRBY 自增 指定自增间隔
127.0.0.1:6379> set num 18
OK
127.0.0.1:6379> INCR num
(integer) 19
127.0.0.1:6379> INCRBY num 6
(integer) 25
# INCRBYFLOAT 浮点类型相加
127.0.0.1:6379> INCRBYFLOAT num 3.05
"28.05"
DECR 自减 DECRBY指定步长自减
127.0.0.1:6379> set num 18
OK
127.0.0.1:6379> DECR num
(integer) 17
127.0.0.1:6379> DECRBY num 3
(integer) 14
127.0.0.1:6379> DECRBY num 3
(integer) 11
APPEND 追加操作
If
keyalready exists and is a string, this command appends thevalueat the end of the string. Ifkeydoes not exist it is created and set as an empty string, so APPEND will be similar to SET in this special case.
如果key存在,append命令会在原值的末尾处追加指定的value,如果key不存在,则会新建一个空字符串,并且追加对应的value。
# APPEND 字符串增加 如果字符串不存在,初始化后追加。
127.0.0.1:6379> get name
"enjoyitlife"
127.0.0.1:6379> APPEND name 2019
(integer) 15
127.0.0.1:6379> get name
"enjoyitlife2019"
127.0.0.1:6379> append name1 2019
(integer) 4
SETRANGE GETRANGE 字符串的替换与截取
SETRANGE:改变原来的字符串 从指定下标开始替换相应的值。如果key存在,则直接替换,如果key不存在,且offset大于0,会用\x00补全。
## setrange key不存在
127.0.0.1:6379> del name
(integer) 1
127.0.0.1:6379> get name
(nil)
127.0.0.1:6379> SETRANGE name 2 2019
(integer) 6
127.0.0.1:6379> get name
"\x00\x002019"
127.0.0.1:6379> set name enjoy
OK
# setrange key存在
127.0.0.1:6379> SETRANGE name 0 2019
(integer) 5
127.0.0.1:6379> get name
"2019y"
GETRANGE []取值,不改变原来的字符串。
127.0.0.1:6379> get name
"2019y"
127.0.0.1:6379> GETRANGE name 0 1
"20"
127.0.0.1:6379> get name
"2019y"
Strings其他常用指令
## STRLEN 返回对应value的长度
127.0.0.1:6379> STRLEN name
(integer) 11
Lists常用操作指令
LPUSH LPUSHX LPOP 队列头部相关操作
# 将所有指定的值插入到存储在键上的列表的头部,可以一次写入多个值,值是依次写入队列头部。
127.0.0.1:6379> lpush datalist AA AB AC
(integer) 3
# LPUSHX 只有在键已存在并保存列表的情况下,才将指定的值插入存储在键的列表头部。 与 LPUSH 相反,当键不存在时将不执行任何操作
127.0.0.1:6379> LPUSHX datalist AF
(integer) 4
# datalist2 没有值 所以不会有任何操作。
127.0.0.1:6379> LPUSHX datalist2 AF
(integer) 0
# LPOP 弹出头部元素
127.0.0.1:6379> lpop datalist
"AF"
RPUSH RPOP RPUSHX RPOPLPUSH 队列尾部相关操作
# RPUSH 新增队列集合 并且从尾部写入元素
127.0.0.1:6379> RPUSH datalist AA AB AC
(integer) 3
# RPOP 队尾弹出
127.0.0.1:6379> RPOP datalist
"AC"
# RPUSHX 只有在键已存在并保存列表的情况下,才将指定的值插入存储在键的列表尾部。 与 RPUSH 相反,当键不存在时将不执行任何操作
127.0.0.1:6379> RPUSHX datalist AF
(integer) 3
127.0.0.1:6379> RPUSHX datalist2 AF
(integer) 0
# RPOPLPUSH 原子操作 移除原数列表的队尾元素到目标元素的头部。
127.0.0.1:6379> RPOPLPUSH datalist datalistnew
"AF"
127.0.0.1:6379> LINDEX datalistnew 0
"AF"
BLPOP BRPOP BRPOPLPUSH 阻塞操作
Blpop、BRPOP 、BRPOPLPUSH 对应LPOP、RPOP RPOPLPUSH的阻塞版本。
127.0.0.1:6379> BLPOP datalist AN 10
1) "datalist"
2) "AB"
127.0.0.1:6379> BLPOP datalist AN 10
(nil)
(10.04s)
其他常用操作指令
# LLEN 返回集合长度
127.0.0.1:6379> LLEN namelist
(integer) 3
# LRANGE 返回指定下标中的value
127.0.0.1:6379> LRANGE namelist 0 4
1) "wangwu"
2) "lisi"
3) "zhangsan"
#LTRIM 保留指定元素下标的元素 删除其他元素
127.0.0.1:6379> LTRIM namelist 0 1
OK
127.0.0.1:6379> LRANGE namelist 0 5
1) "wangwu"
2) "lisi"
以上就是Redis的数据类型的Strings和Lists的常用操作指令了,更多其他指令可以参考官网,Redis官网,谢谢阅读,希望对你有所帮助。
Redis数据类型Strings、Lists常用操作指令的更多相关文章
- Redis数据类型:Sorted Sets操作指令
Redis数据类型:Sorted Sets操作指令 Sorted Sets常用操作指令 Sorted Sets,本质是一个有序的Sets,其实在原来的Sets集合中对每一个元素新增了一个属性Score ...
- Redis集合的常用操作指令
Redis集合的常用操作指令 Sets常用操作指令 SADD 将指定的元素添加到集合.如果集合中存在该元素,则忽略. 如果集合不存在,会先创建一个集合然后在添加元素. 127.0.0.1:6379&g ...
- linux常用操作指令
Linux常用操作指令: 常用指令 ls 显示文件或目录 -l 列出文件详细信息l(list) -a 列出当前目录下所有文件及目录,包括隐藏的a(a ...
- CentOS + Nginx 的常用操作指令总结
CentOS + Nginx 的常用操作指令总结 一. 关于CentOS 查看 yum 源是否存在 yum list | grep nginx 如果不存在 或者 不是自己想要的版本 可以自己设置Ngi ...
- python数据类型:字典dict常用操作
字典是Python语言中的映射类型,他是以{}括起来,里面的内容是以键值对的形式储存的: Key: 不可变(可哈希)的数据类型.并且键是唯一的,不重复的. Value:任意数据(int,str,boo ...
- git 详细教程和常用操作指令
git 内部工作原理图 如上图,git 一般可以分为三个区:工作区.暂存区.版本库,通常类似 git add等命令都是与index 暂存区的交互,git commit指令则是 index 与版本库的交 ...
- Redis数据类型-Strings
Redis 简介 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统. Redis是一个开源的使用ANSI ...
- Oracle表空间和表的常用操作指令
查看端口号指令 netstat –a 设置: set pagesize 100; //设置每页显示的行数set linesize 200; //设置每页显示的字符数 空格也算col 列名A for a ...
- Linux常用操作指令(面试专用)
Linux:免费开源,多用户多任务,衍生出很多附属版本,例如常用的RedHat... 常用指令 ls 显示文件或目录 -l 列出文件详细信息l(list) -a ...
随机推荐
- R语言-程序执行时间
我们往往对自己编写程序的运行效率十分关心,需要查看程序的执行时间. 在R中,获得时间的函数有不少,比如system.time().proc.time()等. 个人使用较多的是proc.time() & ...
- noip模拟总结
先讲讲今天的比赛, T1: 看着很水,在草稿纸上画了一下,发现其实并不简单, 于是先去打第二题, 最后半个小时实在是一点头绪也没有, 打了个状压dp 70分(暴力分真多). T2: 把样例画出来模拟一 ...
- TTTTTTTTTTTTTTTT POJ 2723 楼层里救朋友 2-SAT+二分
Get Luffy Out Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 8211 Accepted: 3162 Des ...
- cogs157. [USACO Nov07] 奶牛跨栏 x
157. [USACO Nov07] 奶牛跨栏 ★★ 输入文件:hurdles.in 输出文件:hurdles.out 简单对比时间限制:1 s 内存限制:128 MB 译 by Cm ...
- python实现一个层次聚类方法
层次聚类(Hierarchical Clustering) 一.概念 层次聚类不需要指定聚类的数目,首先它是将数据中的每个实例看作一个类,然后将最相似的两个类合并,该过程迭代计算只到剩下一个类为止,类 ...
- POJ 3613 [ Cow Relays ] DP,矩阵乘法
解题思路 首先考虑最暴力的做法.对于每一步,我们都可以枚举每一条边,然后更新每两点之间经过\(k\)条边的最短路径.但是这样复杂度无法接受,我们考虑优化. 由于点数较少(其实最多只有\(200\)个点 ...
- NOI数论姿势瞎总结(Pi也没有)
Miller-Rabin素数检测 费马小定理:没人不会吧. 二次探测:如果\(n\)是质数,\(x^2 \equiv 1\ (\mod n)\)的解只有\(x \equiv 1\)或\(x \equi ...
- [2019杭电多校第一场][hdu6582]Path(最短路&&最小割)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6582 题意:删掉边使得1到n的最短路改变,删掉边的代价为该边的边权.求最小代价. 比赛时一片浆糊,赛后 ...
- STS插件_ springsource-tool-suite插件各个历史版本
目前spring官网(http://spring.io/tools/sts/all)上可下载的spring插件只有:springsource-tool-suite-3.8.4(sts-3.8.4).但 ...
- java 获取文本一行一行读
直接上代码: 如果出现乱码:请改一下编码:我这里使用utf-8是会乱码的,改GBK就好了 // 读取文件内容 public static String readFile(String path) {/ ...