redis-(1)

198 阅读3分钟

ps -ef|grep redis

netstat -antpl| grep redis

redis-cli -h ip -p port ping


动态参数启动

redis-server --port 6380


配置文件

redis-server configPath

daemonize 是否是守护进程

port redis对外端口号

logfile  redis系统日志

dir   redis工作目录

安装

   1、下载源码,解压缩后编译源码。

$ wget http://download.redis.io/releases/redis-2.8.3.tar.gz

$ tar xzf redis-2.8.3.tar.gz

$ cd redis-2.8.3

$ make

     2、编译完成后,在Src目录下,有四个可执行文件redis-server、redis-benchmark、redis-cli和redis.conf。然后拷贝到一个目录下。

mkdir /usr/redis

cp redis-server /usr/redis

cp redis-benchmark /usr/redis

cp redis-cli /usr/redis

cp redis.conf /usr/redis

cd /usr/redis

3、启动Redis服务。

$ redis-server redis.conf

4、然后用客户端测试一下是否启动成功。

$ redis-cli

redis> set foo bar

OK

redis> get foo

"bar"


字符串

incr  key       key自增1,如果不存在,自增后get(key)=1

decr key       key自减1,如果不存在,自增后get(key)=-1

incrby key k   key自减k,如果不存在,自增后get(key)=k

ecrby key k   key自减k,如果不存在,自增后get(key)=k


set key value       不管存不存在

setnx key value      key不存在,才设置

set key value xx     key存在,才设置



mset hello world java best php good

mget   hello java php


getset key newvalue        set key newvalue 并返回旧的value

append key value             将value追加到旧的value

strlen  key


incrbyfloat key 3.5       对应key的值增加3.5

getrange  key start end    获取指定下标所有的值

setrange  key index value  设置指定下标的值


哈希 mapmap

key           field            value


field不可以相同

hget key  field               获取hash  key对应的field的value

hset  key  field  value    设置hash  key对应的field的value

hdel  key  field              删除hash key对应的field的value

hgetall  key

hvals key

hkeys key


hexists  key field

hlen  key


hmget

hmset


hincrby user:1:info pageview count


hsetnx key field value    #设置hash key对应的field的value(如field已经存在,则失效)

hincrby key field intCounter #hash key 对应的field的value自增intCounter

hincrbyfloat key field floatCounter   #hincrby浮点数版


列表

有序,可重复,左右两边弹出

rpsh key value1  value2

lpush  key  value1  value2

linsert key before|after value newValue

lpop key #从左边弹出一个item

rpopkey #从右边弹出一个item


删除重复元素

lrem  key count value

#根据count的值,从列表中删除所有value相等的项

count>0,从左到右,删除最多count个value相等的项

count<0,从右到左,删除最多count个value相等的项

count=0,删除所有value相等的项


eg:
lrem listkey 0 a  #把所有值等于a的元素删除掉
lrem listkey -1 c   #从右删除1个值等于c的元素


ltrim

ltrim key start end#按照索引范围修剪列表


lrange key start end#获取指定范围所有的item


lindex key index


llen key  #获取列表长度


lset key index newValue  #设置列表制定索引值为newValue


LRUSH+LPOP=Stack LPUSH+RPOP=Queue

LPUSH+LTRIM=Capped Collection 固定大小

LPUSH+BRPOP=Message  Queue消息队列