Reids笔记
由c语言编写,以内存作为数据存储介质,所以读写效率极高。
reids特性:
- reids支持数据持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
- 支持key-value的数据,value分为list,set,zset,hash等数据结构存储。
- 因为reids交换数据快,所以在服务器中常用来存储一些需要平凡调取的数据,提高效率。
当做项目时:
固定不变的数据放在mysql里面,
经常需要变化的存在reids里面。
一、Reids数据模型:
进入reids:
reids-cli(启动redis的客户端)
进入以后你会看到你的ip地址加端口号,说明你已经进去了。
进入mysql:
mysql -uroot -pqwe123
进入reids
reids-cli
退出:
exit;
操作服务器:
service redis start/stop/restart
切换数据库:
reids本身有16个数据库,并没有名字-默认选择0
select n [0-15(就表示选择哪一个数据库)]
二、全局key的操作:
1.查看所有的key:keys *
keys *
2、删除键值对:del key
del a
3.查看key是否存在:exists key
exist a
->True
4.改名:rename key new_key
rename a ab
5.设置过期时间:expire key seconds
expire a 8
6.查看过期时间:ttl key
ttl a
如果删除的是一个没有过期时间的key,就返回-1
如果删除的是一个不存在的key,返回的是-2
7.删除过期时间:persist key
persist a
三、五大数据类型的使用:
3-1:String类型:(key和value的值最大能容量512mb)
1.设置数据: set key value
set a 1
2.查看数据:get key
get a
->'1'
3.追加数据:
3-1:当存在键时:append key value
append a 888
->'1888'
3-2:当不存在键时:append key value
append b 888
get b
->888
4.删除数据:del key
del a
3-2:List类型(类似队列操作)
注:reids里面的,list插入数据可以左边右边加入,也可以左边右边删除,同样在进行插入过程中,会直接新建这个键。
1.添加数据:rpush/lpush key value(插入多个用空格隔开)
rpush list_a wo
rpush list_a jiu shi wo
2.查看数据:lrange key start stop
lrange list_a 0 10
->
'wo'
'jiu'
'shi'
'wo'
3.查看某个数据:lindex key index
lindex list_a 2
->'shi'
4.修改数据:lset key index value
lset list_a 2 'no'
5.删除数据:rpop/lpop key(一次删一个)
rpop list_a
6.删指定的数据:lrem key count value(从左到右)
lrem list_a 1 wo
3-3:Hash类型
是一个键值对组合,是string类型的field和value的映射表
1.添加数据:hset/hmset key filed value
hset hash_a k1 v1
hmset hash_a k2 v2 k3 v3
2.查看域值:hget key filed
hget hash_a k1
3.查看所有的filed和value:hgetall key
hgetall hash_a
4.查看所有的value:hvals key
havals hash_a
5.查看所有的field:hkeys key
hkeys hash_a
6.修改值:hset hash_a field value
hset hash_a v1 88
3-4:set类型
set是无需字符集合,元素具由唯一性,不重复
1.添加数据:sadd key member
sadd set_a hello world
sadd set_a 'hello world'
2.查看数据:smembers key
smenbers set_a
3.随机删除:spop key
spop set_a
4.指定删除:srem key member
srem set_a world
srem ser_a world hello
3-5:zset
每一个成员都有一个分数(score)与之关联,成员是唯一的,但分数却是可以重复的(使用ascii码进行排列)
1.添加数据:zadd key score member
zadd zset_a 1 hello
zadd zeet_a 2 world
zadd zset_a 1.5 summer
2.查看数据:zrange key start stop
zrange zset_a 0 10
3.通过score值查看:zrangebyscore key min max
zrangebyscore zset_a 0 10
4.删除数据:zrem key member
zrem zset_a hello
5.通过索引删除多个数据:zremrangebyrank key start stop
zremrangebyrank zset_a 0 10
6.查看分数:zscore key remember
zscore zset_a hello
7.通过分数删除数据:zremrangebyscore key min max
zremrangebyscore zset_a 0 20