redis资料

redis有了落地的支持了,当前使用这个来制作服务器的逻辑还是非常好的。本文主要还是收集资料,记录下一些信息。这篇文章只做redis的用法相关的事情。
本文参考文档
参考1
参考2
参考3

数据结构

redis里面包含了很多的种类的数据结构。好像一般都是直接使用redis里面的set,get。这个概念只是key。其中还有跳表方式实现的一套有序集合。

string

字符串类型。这个应该是使用的非常频繁的一种数据结构。其实就是key->value的一种数据结构。之前的memcached这种内存数据库和这个一样。key是用于做索引的,而且支持正则匹配来抓取数据。value是能使用binary方式,比如说你可以使用protobuf或者msgpack这种三方打包的库来对其做打包操作。

redis 127.0.0.1:6379> SET name "yiibai"
OK
redis 127.0.0.1:6379> GET name
"yiibai"

hashs

Redis的哈希值是字符串字段和字符串值之间的映射,所以他们是表示对象的完美数据类型

在Redis中的哈希值,可存储超过400十亿键值对。

redis 127.0.0.1:6379> HMSET yiibai name "redis tutorial" description "redis basic commands for caching" likes 20 visitors 23000
OK
redis 127.0.0.1:6379> HGETALL yiibai

1) "name"
2) "redis tutorial"
3) "description"
4) "redis basic commands for caching"
5) "likes"
6) "20"
7) "visitors"
8) "23000"

list

Redis列表是简单的字符串列表,排序插入顺序。您可以在头部或列表的尾部Redis的列表添加元素。

列表的最大长度为232 - 1 (每个列表超过4十亿元素4294967295)元素。

redis 127.0.0.1:6379> LPUSH tutorials redis
(integer) 1
redis 127.0.0.1:6379> LPUSH tutorials mongodb
(integer) 2
redis 127.0.0.1:6379> LPUSH tutorials mysql
(integer) 3
redis 127.0.0.1:6379> LRANGE tutorials 0 10

1) "mysql"
2) "mongodb"
3) "redis"

可以直接存储string到指定的key中。

sets

Redis集合是字符串的无序集合。在Redis中可以添加,删除和测试文件是否存在在O(1)的时间复杂度的成员。
可以理解成有序的list。而且不允许数据结构中出现重复的数据。

redis 127.0.0.1:6379> sadd tutoriallist redis
(integer) 1
redis 127.0.0.1:6379> sadd tutoriallist mongodb
(integer) 1
redis 127.0.0.1:6379> sadd tutoriallist rabitmq
(integer) 1
redis 127.0.0.1:6379> sadd tutoriallist rabitmq
(integer) 0
redis 127.0.0.1:6379> smembers tutoriallist

1) "rabitmq"
2) "mongodb"
3) "redis"

zsets

Redis的集合排序类似于Redis集合,字符串不重复的集合。不同的是,一个有序集合的每个成员关联分数,用于以便采取有序set命令,从最小的到最大的分数有关。虽然成员都是独一无二的,分数可能会重复。
这个相当于排行榜,可以为每一个元素设置上权重和value值。在内部实现的时候是使用的跳表来做的实现。这也直接造成了当分数一样的时候,可能先后次序存在随机。跳表实现的好处是,插入和更新的成本比较的低,适合来只做大型的排行榜。
实例

redis 127.0.0.1:6379> zadd tutoriallist 0 redis
(integer) 1
redis 127.0.0.1:6379> zadd tutoriallist 0 mongodb
(integer) 1
redis 127.0.0.1:6379> zadd tutoriallist 0 rabitmq
(integer) 1
redis 127.0.0.1:6379> zadd tutoriallist 0 rabitmq
(integer) 0
redis 127.0.0.1:6379> ZRANGEBYSCORE tutoriallist 0 1000

1) "redis"
2) "mongodb"
3) "rabitmq"

服务器维护

备份

Redis SAVE命令用来创建备份当前Redis数据库。

127.0.0.1:6379> SAVE

Bgsave
要创建Redis备份备用命令BGSAVE也可以的。这个命令将开始备份过程,并在后台运行。

127.0.0.1:6379> BGSAVE
Background saving started

还原

Redis默认会将快照文件存储在当前目录(可CONFIG GET dir来查看)的dump.rdb文件中,可以通过配置dir和dbfilename两个参数分别指定快照文件的存储路径和文件名。

127.0.0.1:6379> CONFIG get dir

1) "dir"
2) "/user/yiibai/redis-2.8.13/src"

性能调优

参考

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值