Redis五种数据类型-设置key的过期时间
1、redis命令客户端
[root@localhost bin]# ./redis-cli
127.0.0.1:6379> #是否运行着
127.0.0.1:6379> ping
PONG Redis五种数据类型:String、Hash、List、Set、SortedSet
Redis中所有的数据都是字符串。命令不区分大小写,key是区分大小写的。Redis是单线程的。Redis中不适合保存内容大的数据。 String:key-value(做缓存)
set key值 value值
127.0.0.1:6379> set str1 abc
OK
get key值
127.0.0.1:6379> get str1
"abc" incr key值 将对应value值递增1 (生成id, 网站访问量)
127.0.0.1:6379> incr key1
(integer) 1
127.0.0.1:6379> incr key1
(integer) 2
127.0.0.1:6379> get key1
"2"
decr key值 将对应value值递减1
127.0.0.1:6379> decr key1 #2减1等于1了
(integer) 1
127.0.0.1:6379> decr key1
(integer) 0
127.0.0.1:6379> decr key1
(integer) -1
127.0.0.1:6379> get key1
"-1"
del key值 删除指定key值
127.0.0.1:6379> set key2 bbb
OK
127.0.0.1:6379> keys *
1) "key1"
2) "key2"
3) "str1"
127.0.0.1:6379> del key2
(integer) 1 decrby key值 增量值 将对应value值按增量值递减
incrby key值 增量值 将对应value值按增量值递增
mset key值 value值 key值 value值 后面跟多个键值对 其他:
keys * 查询redis中存储的所有key值
127.0.0.1:6379> keys *
1) "str1" Hash:key-fields-value(做缓存)
相当于一个key对于一个map,map中还有key-value
使用hash对key进行归类。 hset key fields values 向hash中key值添加内容fileds-value值
127.0.0.1:6379> hset hash1 field1 11
(integer) 1
127.0.0.1:6379> hset hash1 field2 22
(integer) 1
127.0.0.1:6379> hset hash1 field3 33
(integer) 1 hget key fields 从hash中key值取内容fileds中的value值
127.0.0.1:6379> hget hash1 field1
"11" 127.0.0.1:6379> keys * 查看所有key值
1) "key3"
2) "key4"
3) "hash1"
4) "key1"
5) "str1" hkeys key值 查看key值下面的所有field值
127.0.0.1:6379> hkeys hash1 查看hash正在的hash1下的所有field值
1) "field1"
2) "field2"
3) "field3" hvals key值 查看key值下面的所有value值
127.0.0.1:6379> hvals hash1 查询hash1下面的所有value值
1) "11"
2) "22"
3) "33" hgetall key值 查看key值下面的所有field-value键值对
127.0.0.1:6379> hgetall hash1 查询hash1下面的所有field-value
1) "field1"
2) "11"
3) "field2"
4) "22"
5) "field3"
6) "33" hdel key值 field值 删除指定key值下面的field值
127.0.0.1:6379> hkeys hash1
1) "field1"
2) "field2"
3) "field3"
127.0.0.1:6379> hdel hash1 field1 删除hash1下面的field1
(integer) 1
127.0.0.1:6379> hkeys hash1
1) "field2"
2) "field3" List:有顺序可重复(处理不完时,排队相关处理) lpush key值 value1值 value2值 … #向key的左边追加value值
127.0.0.1:6379> lpush list1 1 2 3 4 5
(integer) 4 #从左往右,查询key值中startIndex到endIndex的所有值, endIndex=-1表示最后
lrange key值 startIndex endIndex
127.0.0.1:6379> lrange list1 0 -1
1) "5"
2) "4"
3) "3"
4) "2"
5) "1" lpush key值 value1值 value2值 … #向key的右边追加value值
127.0.0.1:6379> rpush list1 a b c d f
(integer) 10
127.0.0.1:6379> lrange list1 0 -1
1) "5"
2) "4"
3) "3"
4) "2"
5) "1"
6) "a"
7) "b"
8) "c"
9) "d"
10) "f" lpop key值 #从key值里的左边取出1个元素值,取出后从key值消失,返回取出的值
127.0.0.1:6379> lpop list1
"5"
127.0.0.1:6379> lrange list1 0 -1
1) "4"
2) "3"
3) "2"
4) "1"
5) "a"
6) "b"
7) "c"
8) "d"
9) "f" rpop key值 #从key值里的右边取出1个元素值,取出后从key值消失,返回取出的值
127.0.0.1:6379> rpop list1
"f"
127.0.0.1:6379> lrange list1 0 -1
1) "4"
2) "3"
3) "2"
4) "1"
5) "a"
6) "b"
7) "c"
8) "d"
Set:元素无顺序,不能重复(去重) sadd key值 value1值 value2值 … #向key的添加value值 ,如果有重复数据会只保留一个
127.0.0.1:6379> sadd set1 a a b b c d
(integer) 4 smembers key值 查询key值中所有value值
127.0.0.1:6379> smembers set1
1) "d"
2) "a"
3) "c"
4) "b" srem key值 value值 删除key值中的value值
127.0.0.1:6379> srem set1 d
(integer) 1
127.0.0.1:6379> smembers set1
1) "a"
2) "c"
3) "b" 集合运算命令:差集sdiff 、交集sinter 、并集sunion:
127.0.0.1:6379> sadd seta a b c d
(integer) 4
127.0.0.1:6379> sadd setb c d e f
(integer) 4 sdiff key1值 key2值 取差集,取key1值集合中所特有的元素
127.0.0.1:6379> sdiff seta setb #取seta中所特有的
1) "a"
2) "b"
127.0.0.1:6379> sdiff setb seta #取setb中所特有的
1) "e"
2) "f" sinter key1值 key2值 取交集,取key1值与key2值集合中相同的元素
127.0.0.1:6379> sinter seta setb
1) "d"
2) "c" sunion key1值 key2值 取并集,取key1值与key2值集合中所有元素
127.0.0.1:6379> sunion seta setb
1) "d"
2) "f"
3) "c"
4) "b"
5) "a"
6) "e" SortedSet(zset):有顺序,不能重复 (服务器消耗最高,要排序还要去重,尽量少用,) zadd key值 分数1 value1 分数2 value2 … 向key的添加多个value值,按分数进行排序
192.168.25.153:6379> zadd zset1 1 a 3 b 2 c 4 d
(integer) 4 #升序排列查询key值中startIndex到endIndex的所有值, endIndex=-1表示最后
zrange key值 startIndex endIndex
127.0.0.1:6379> zrange zset1 0 -1
1) "a"
2) "c"
3) "b"
4) "d" #降序排列查询key值中startIndex到endIndex的所有值, endIndex=-1表示最后
zrevrange key值 startIndex endIndex
127.0.0.1:6379> zrevrange zset1 0 -1
1) "d"
2) "b"
3) "c"
4) "a" zrem key值 value值 删除key值中会value值
127.0.0.1:6379> zrem zset1 a
(integer) 1
127.0.0.1:6379> zrange zset1 0 -1
1) "c"
2) "b"
3) "d" zrange key值 0 -1 withscores 查询出key中的value与分数值
127.0.0.1:6379> zrange zset1 0 -1 withscores
1) "c"
2) "2"
3) "b"
4) "3"
5) "d"
6) "4" 设置key的过期时间: 1、expire key second:设置key的过期时间(秒)
127.0.0.1:6379> expire key1 100 key1在100秒后过期
(integer) 1
2、ttl key:查看key的有效期
127.0.0.1:6379> ttl key1
(integer) 73 大于0,还剩余多少秒存活时间
127.0.0.1:6379> ttl key1
(integer) -2 -2 不存在redis中,
127.0.0.1:6379> ttl list1
(integer) -1 -1 永久有效,持久化 3、persist key:清除key的过期时间。Key持久化。
127.0.0.1:6379> set str2 bbb 新增str2值
OK
127.0.0.1:6379> ttl str2 查看str2目前的有效期:持久化
(integer) -1
127.0.0.1:6379> expire str2 100 设置str2的有效期100秒
(integer) 1
127.0.0.1:6379> ttl str2 查看str2目前的有效期:倒计时
(integer) 96
127.0.0.1:6379> persist str2 清除str2的过期时间
(integer) 1
127.0.0.1:6379> ttl str2 查看str2目前的有效期:持久化
(integer) -1
---------------------
作者:IT-奔跑者
来源:CSDN
原文:https://blog.csdn.net/kiss199203/article/details/73549091
版权声明:本文为博主原创文章,转载请附上博文链接!
Redis五种数据类型-设置key的过期时间的更多相关文章
- redis五种数据类型的使用场景
string 1.String 常用命令: 除了get.set.incr.decr mget等操作外,Redis还提供了下面一些操作: 获取字符串长度 往字符串append内容 设置和获取字符串的某一 ...
- redis五种数据类型和常用命令及适用场景
一.redis的5种数据类型: 1.基础理解: string 字符串(可以为整形.浮点型和字符串,统称为元素) list 列表(实现队列,元素不唯一,先入先出原则) set 集合(各不相同的元素) h ...
- redis五种数据类型的使用(zz)
redis五种数据类型的使用 redis五种数据类型的使用 (摘自:http://tech.it168.com/a2011/0818/1234/000001234478_all.shtml ) 1.S ...
- redis五种数据类型的使用
redis五种数据类型的使用 redis五种数据类型的使用 (摘自:http://tech.it168.com/a2011/0818/1234/000001234478_all.shtml ) 1.S ...
- (转) 淘淘商城系列——Redis五种数据类型介绍
http://blog.csdn.net/yerenyuan_pku/article/details/72855562 Redis支持五种数据类型:string(字符串),hash(哈希),list( ...
- Redis五种数据类型应用场景
目录 1.1 回顾 2.1 应用场景 2.1.1 String 2.1.2 Hash 2.1.3 List 2.1.4 Zet 2.1.5 zset 3.1 小结 1.1 回顾 Redis的五种数据类 ...
- redis五种数据类型的应用
redis的五种数据类型和使用场景 string类型 string类型多用于缓存 set key value(value可以为json字符串) setnx多用于分布式锁(后面详细整理) 计数器 inc ...
- Python操作Redis之设置key的过期时间
对于一个已经存在的key,我们可以设置其过期时间,到了那个时间后,当你再去访问时,key就不存在了 有两种方式可以设置过期时间,一种是指定key从当前时间开始算起还能存活多久,时间单位有两个,一个是秒 ...
- redis 五种数据类型的使用场景
String 1.String 常用命令: 除了get.set.incr.decr mget等操作外,Redis还提供了下面一些操作: 获取字符串长度 往字符串append内容 设置和获取字符串的某一 ...
随机推荐
- 【loj6029】「雅礼集训 2017 Day1」市场 线段树+均摊分析
题目描述 给出一个长度为 $n$ 的序列,支持 $m$ 次操作,操作有四种:区间加.区间下取整除.区间求最小值.区间求和. $n\le 100000$ ,每次加的数在 $[-10^4,10^4]$ 之 ...
- 06.基于IDEA+Spring+Maven搭建测试项目--dubbo-consumer.xml配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- mininet *** Error: RTNETLINK answers: No such file or directory 问题及解决方法
一.问题 按照mininet官网中从源码安装步骤进行安装后,运行命令sudo mn --link tc,bw=10,提示说*** Error: RTNETLINK answers: No such f ...
- 【题解】 [HAOI2016]食物链 (拓扑排序)
懒得复制,直接贴链接吧 Solution: 水题一道,注意单独一个点的不算在食物链中,也就是\(in[i]==0\) \(out[i]==0\)的点就不计算 Code: //It is coded b ...
- 【树状数组套主席树】带修改区间K大数
P2617 Dynamic Rankings 题目描述给定一个含有n个数的序列a[1],a[2],a[3]……a[n],程序必须回答这样的询问:对于给定的i,j,k,在a[i],a[i+1],a[i+ ...
- 各种蕴含算法思想的DP - 1
study from: https://www.cnblogs.com/flashhu/p/9480669.html 1.前缀和 https://www.luogu.org/problemnew/sh ...
- php错误日志
php错误日志 /usr/local/php/var/log/php-fpm.log」—————————
- Scala进阶之路-I/O流操作之文件处理
Scala进阶之路-I/O流操作之文件处理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 说起Scala语言操作文件对象其实是很简单的,大部分代码和Java相同. 一.使用Scal ...
- SQL记录-PLSQL运算符
PL/SQL运算符 运算符是一个符号,告诉编译器执行特定的数学或逻辑操作. PL/SQL语言有丰富的内置运算符,运算符提供的以下几种类型: 算术运算符 关系运算符 比较运算符 逻辑运算符 字符串运算符 ...
- bzoj千题计划176:bzoj1199: [HNOI2005]汤姆的游戏
http://www.lydsy.com/JudgeOnline/problem.php?id=1199 求出圆x的范围 把要判断的点按x从小到大排序 枚举图形 二分出x满足这个图形的一段区间 枚举这 ...