Redis五种数据类型:String、Hash、List、Set、SortedSet

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
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容