Redis - Redis 5大基础数据类型 以及 设置过期时间等 常用操作

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(ZSet)

Redis中所有的数据都是字符串。命令不区分大小写,key是区分大小写的。Redis是单线程的。Redis中不适合保存内容大的数据。

 

 

 

Stringkey-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"

 

Hashkey-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"

 

 

SortedSetzset):有顺序,不能重复 (服务器消耗最高,要排序还要去重,尽量少用,)

 

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

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值