redis入门到精通(一)

2015-02-02 20:09:36 · 作者: · 浏览: 49

下载安装

下载地址:

$ wget http://redis.googlecode.com/files/redis-2.6.13.tar.gz

linux下:

解压到指定目录

make 32bit / make

make install prefix=/usr/local/redis

安装成功

?

windows免安装:

?

参数介绍:

?

make install命令执行完成后,会在/usr/local/bin目录下生成本个可执行文件,分别是redis-server、redis-cli、redis-benchmark、redis-check-aof 、redis-check-dump,它们的作用如下:

?

redis-server:Redis服务器的daemon启动程序

?

redis-cli:Redis命令行操作工具。也可以用telnet根据其纯文本协议来操作

?

redis-benchmark:Redis性能测试工具,测试Redis在当前系统下的读写性能

?

redis-check-aof:数据修复

?

redis-check-dump:检查导出工具

?

?

redis的配置文件

?

daemonize yes //以后进程的方式运行

pidfile /home/{用户目录}/redis/var/redis.pid //进程号

port 6379 //端口号

timeout 300 //服务超时时间

loglevel debug

logfile /home//{用户目录}/redis/var/redis.log

databases 16

dbfilename dump.rdb

dir /home/work/redis/var

?

启动

启动服务器:

./redis-server

启动客户端:

./redis-cli #默认连接本机,6379端口

./redis-cli -h IP -p PORT #指定主机和端口连接

?

windwos下直接双击对应的问价就可以

?

redis基本操作

基本类型

设置值

redis 127.0.0.1:6379> setex age 10 100 #设置age=100 时间是10s

OK

获取值

redis 127.0.0.1:6379> get age#获取age的值

(nil)

redis 127.0.0.1:6379> get age

(nil)

redis 127.0.0.1:6379> setex age 10 100

OK

redis 127.0.0.1:6379> get age#获取age的值

"100"

redis 127.0.0.1:6379> setex age 100 100

OK

查询值剩余有效时间

redis 127.0.0.1:6379> ttl age #查询剩余有效时间

(integer) 96

查看值得类型

redis 127.0.0.1:6379> type age

string

redis 127.0.0.1:6379> setex nage 10 "rolin"

OK

redis 127.0.0.1:6379> type nage

string

新存放一个列表进去

redis 127.0.0.1:6379> lpush mylist 1 2 3 4 #存放一个list,没有指定存放时间,永久有效

(integer) 4

redis 127.0.0.1:6379> type mylist

list

查看当前库下的有效的key值

redis 127.0.0.1:6379> keys *

1) "mylist"

切换数据库,redis默认有16个库,分别是0-15,默认选择的0号库

redis 127.0.0.1:6379> select 1

OK

redis 127.0.0.1:6379[1]> keys *

(empty list or set)

redis 127.0.0.1:6379[1]> select 0

OK

redis 127.0.0.1:6379> keys *

1) "mylist"

redis 127.0.0.1:6379[1]> select 0

OK

redis 127.0.0.1:6379> keys *

1) "mylist"

redis 127.0.0.1:6379> keys *

1) "mylist"

把key移动到1号库下面去

redis 127.0.0.1:6379> move mylist 1

(integer) 1

redis 127.0.0.1:6379> keys *

(empty list or set)

redis 127.0.0.1:6379> select 1

OK

redis 127.0.0.1:6379[1]> keys *

1) "mylist"

?

redis 127.0.0.1:6379[1]> set name rolings

OK

redis 127.0.0.1:6379[1]> get name

"rolings"

redis 127.0.0.1:6379[1]> set age 23

OK

一次获取多个值

redis 127.0.0.1:6379[1]> mget name age

1) "rolings"

2) "23"

?

redis 127.0.0.1:6379[1]> append name _youling

(integer) 15

redis 127.0.0.1:6379[1]> get name

"rolings_youling"

删除所有的;

redis 127.0.0.1:6379[1]> flushdb

OK

redis 127.0.0.1:6379[1]> keys *

(empty list or set)

一次性设置多个值

redis 127.0.0.1:6379[1]> mset name rolin age 25

OK

redis 127.0.0.1:6379[1]> keys *

1) "name"

2) "age"

redis 127.0.0.1:6379[1]> get count

"2"

原子性操作,支持并发安全的计数器

redis 127.0.0.1:6379[1]> incr count

(integer) 3

redis 127.0.0.1:6379[1]> get count

"3"

增长指定的数值

redis 127.0.0.1:6379> incrby age 3

(integer) 4

redis 127.0.0.1:6379> decr age

(integer) 3

redis 127.0.0.1:6379> get age

"3"

redis 127.0.0.1:6379> decrby age 2

(integer) 1

redis 127.0.0.1:6379> get age

"1"

redis 127.0.0.1:6379> get aaa

(nil)

对于不存在的值,从0开始减小

redis 127.0.0.1:6379> decr aaa

(integer) -1

redis 127.0.0.1:6379> get age

"1"

redis 127.0.0.1:6379> set age 2

OK

防止覆盖,如果存在就不覆盖

redis 127.0.0.1:6379> setnx age 3

(integer) 0

redis 127.0.0.1:6379> get age

"2"

指定缓存时间:10是时间,19是值

redis 127.0.0.1:6379> setex count 10 19

OK

redis 127.0