Redis一卡通!!!!
需要看哪部分内容根据左边的目录栏跳着看呀呀呀
目录
今天就来详细聊聊Redis中的那些“快乐”的事情~
Redis简介
(小声bb,这里就省略了,百度百科连Redis开发背景都给你楞出来。。。)
Redis的数据类型
讲到Redis的数据类型,保守估计应该有8成以上的小伙伴工作中只会用到String类型。其实Redis很强大,很多地方合理使用它的多种的数据类型可以起到事半功倍的效果,接下来就见到聊一嘴
基本数据类型
- String(字符串)
这是Redis最简单的数据类型,如果你只使用这一种数据类型的话,Redis就像是一个不会持久化的memcached服务器(注:memcache数据都保存在内存中,不会持久化)
语法
set 往redis中填值
set(name , value , ex=none , px=none , nx=False ,xx=False)
解释: name:属性名 value:属性值 ex:过期时间(精确到秒,默认为none)
px:过期时间(精确到毫秒,默认为none) nx:not exist (如果不存在才能执行set,默认是false)
xx: 如果设置成true,则当name存在时,set才能执行成功
127.0.0.1:6379> set key1 00001
OK
127.0.0.1:6379> set key2 00002 ex 20
OK
127.0.0.1:6379> set key3 00003 px 20
OK
127.0.0.1:6379> set key1 00004
OK
127.0.0.1:6379> set key1 00005 nx true
(error) ERR syntax error
127.0.0.1:6379> get key1
"00004"
127.0.0.1:6379> get key2
(nil)
127.0.0.1:6379> get key3
(nil)
// 可以看出 设置了过期时间的数据已经过期 nx设置为true后重复设置值会失败
这里的nx 与xx属性分别有不同的应用场景,根据场景不同使用他他们的属性。
set name value nx true 和setnx name value 的效果是一样的 ,可以用来实现简单的锁。
127.0.0.1:6379> set key1 00001
OK
127.0.0.1:6379> setnx key1 00002
(integer) 0
127.0.0.1:6379> setnx key2 00002
(integer) 1
127.0.0.1:6379> get key2
"00002"
keys *获取所有的key
127.0.0.1:6379> set key1 00001
OK
127.0.0.1:6379> set key2 00002
OK
127.0.0.1:6379> set key3 00003
OK
127.0.0.1:6379> keys *
1) "key3"
2) "key1"
3) "key2"
127.0.0.1:6379>
- Hash(散列)
- List(列表)
- Set(集合)
- Zset(或者sorted set 有序集合)
特殊数据类型
- Geospatial(地理位置) Redis的3.2版本新增
相关的命令
geoadd:添加地理位置
geodist:
geohash:
geopos:
georadius:
georadiusbymember:
- Hyperloglog(基数统计)
- Bitmap(位图场景)