[关闭]
@delight 2014-05-02T20:34:34.000000Z 字数 1018 阅读 1539

redis相关知识点

redis
* key-value型数据库,一般用来做高速缓存。
* key只能是字符串,但是value可以是多种数据结构,包括string, list, set, soredset和hash值;
* 一般情况下数据存放在内存中,但是可以持久化到硬盘中;
* 如果配置(/etc/redis/redis.conf)vm-enabled yes,那么如果内存超出阈值,就会自动启用硬盘(类似squid的缓存系统);
* string类型可以用GET, SETGETSET来取/赋值,这些命令都是线程安全的,其中GETSET用来设置新值并返回旧值。
* list类型,在redis中使用双向链表实现,使用LPUSHRPUSH命令插入元素到链表的头部和尾部;使用LRANGE取出某个范围的数据;
* set是一个无序的数据集合,同std::unordered_set
* sorted sets同std::set,可以排序;
* 可以通过主从服务器进行同步复制,使多台服务器处于同样的状态,可用于负载均衡(slaveof);
* 有一个AOF机制用于确保数据持久性,原理是记录每次操作的命令,在进程挂掉后使用这些命令进行重演,保证数据的有效性(appendonly yes)
* 可以使用redis-benchmark来测试服务器性能,语法是redis-benchmark -h localhost -p 6379 -c 100 -n 1000,这意味着有100个并发连接,1000个请求。
* 可以使用redis-cli -h locallhost -p 6379 [info|monitor]来查看统计|实时监控信息;
* 可以使用redis-stat host localhost port 6379 overview查看redis实例的总体信息;
* redis对客户端的处理类似普通数据库(非阻塞多路复用),但是某些行为的处理方式比较暴力;
* 在shell中使用redis-cli来进行数据库管理。常用命令如下:
* ping ,测试服务器是否存活,正常返回PONG
* echo,同shell原本语义;
* select,从编号0~15的数据库中任选一个进行存取;
* quit,退出;
* dbsize,返回当前key的数目;
* info,服务器信息统计;
* monitor,实时转储收到的请求;
* config get,获取服务器配置信息;
* flushdb,删除当前数据库的所有key;
* flushall,删除所有数据库中的所有key;

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注