下载安装
下载地址:
$ 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