Redis入门指南之简介

redis:REmote Dictionary Server,以字典结构存储结构,并允许其他应用通过TCP协议读写字典中的内容。支持:字符串、散列、列表、集合、有序集合。


所有数据都存储在内存中,读写速度快;可以持久化,将内存中的数据异步写入到硬盘中。


redis可以做数据库,也可以做缓存、队列。

redis可以为每个键设置生存时间(Time To Live,TTL),生存时间到期后键会自动被删除。


在性能上,reis是单线程模型,memcached支持多线程。redis支持集群。


作为缓存系统,redis还可以限定数据占用的最大内存空间,在数据达到空间限制后可以按照一定的规则自动淘汰不需要的键。


redis的列表类型键可以用来实现队列,并且支持阻塞式读取,可实现一个高性能的优先级队列。还支持“发布/订阅”的消息模式,可实现聊天室等功能。


环境

Linux下,基本命令如下:

wget http://download.redis.io/redis-stable.tar.gz

tar zxvf redis-stable.tar.gz

cd redis-stable

make

编译完之后,可以在src下面找到若干可执行程序。

更多细节参见博客 http://blog.csdn.net/a0001aa/article/details/60584618

*************************************************************************************

redis可执行文件

redis-server            ​​​redis服务器

redis-cli    ​    ​       ​ ​    ​redis命令行客户端

redis-benchmark     ​redis性能测试工具

redis-check-aof    ​    ​AOF文件修复工具

redis-check-dump    ​RDB文件检查工具

redis-sentinel    ​    ​    ​sentinel服务器


redis启动

redis-server


redis停止

$redis-cli SHUTDOWN

当redis收到SHUTDOWN命令后,会先断开所有全部客户端连接,然后根据配置执行持久化,最后完成退出。


kill -9 redis进程ID 效果等同。

************************************************************

发送命令

$redis-cli -h 127.0.0.1 -p 6379


redis提供了ping命令测试客户端与redis连接是否正常,如果正常返回PONG


********************************************************

配置

$redis-server    ​ xxx/xxxx/redis.conf


启动参数传递,会覆盖配置文件对应的参数设置

$redis-server     xxx/xxxx/redis.conf    ​--loglevel    ​warning


不重启redis情况下动态修改部分redis配置

redis> CONFIG SET loglevel   warning


查看redis当前配置

redis> CONFIG    ​GET    ​loglevel


***********************************************

多数据库

redis默认支持16个数据库(databases=16),每个数据库对外都是以一个从0开始的递增数字命令。


客户端与redis建立连接后会自动选择0号数据库,不过可以随时使用SELECT命令更换数据库,例如要选择1号数据库

redis>SELECT 1

OK

redis [1]>GET foo

(nil)


********************************************************************

redis命令

redis>KEYS pattern    ​获得符合规则的键名列表

pattern    规则如下:

?    ​匹配一个字符

*    ​    ​匹配任意个(包括0个)字符

[]    ​    ​匹配括号间的任一字符, "-"表示一个范围

\x    ​    ​匹配字符x,用于转义


redis>SET bar 1    ​建立一个名为bar 值为1的键


redis>EXISTS key    ​判断键key是否存在,存在返回1,否则0


redis>DEL key[key...]    ​删除一个或多个键,返回值是删除的键的个数


redis-cli DEL `redis-cli KEYS "user:*"`    ​删除所有以“user: ”开头的键


redis>TYPE key    ​获得键key的值的数据类型









你可能感兴趣的:(Redis)