reids 安装配置 基本操作

来源:互联网 发布:无线打电话软件免费 编辑:程序博客网 时间:2024/06/05 18:55
1 先下载redis
命令 wget http://redis.googlecode.com/files/redis-2.0.0-rc4.tar.gz
然后解压
tar zxvf redis-2.0.0-rc4.tar.gz
进入解压后的目录 cd redis-2.0.0-rc4
开始安装 make 如果make不行的话 出现"Makefile", line 8: Missing dependencyoperator 错误的话 改用 gmake
创建一个存放reids的目录
mkdir ~/redis-2.0.0
把几个重要文件放进去
cp redis-sever redis-benchmark redis-cli redis.conf~/redis-2.0.0
cd ~/redis-2.0.0
修改配置文件 该为自己想要的
是否作为守护进程
deamonlize yes
配置pid的存放路径及文件名。默认为当前路径下面
pidfile redis.pid
reidis默认监听端口
port 6397
客户端闲置多少秒之后断开
timeout 300
日志显示级别
log|evel|verbose
指定日志输出的文件名 也可指定到标准输出端口
logfile stdout
设置数据库的数量 默认连接的数据库是 0 可以通过select N 来连接不同的数据库
databases 16
保存数据到disk的策略
。。。。。。



启动redis 在~/redis-2.0.0 目录下
./reids-server redis.conf
检测是否启动
netstat -an -t (?? 貌似不太有用)
ps aux | grep "redis-server"

set 操作
redis-cli -n 0 set uid_001 makang  //像数据库0中插入字符串key为uid_001 value 为makang的字符串

get 操作
redis-cli -n 0 get uid_001 | redis-cli get uid_001//表示获取数据库为0,key为uid_001的字符串  不写-N 0 表示在默认数据库 0中取

mget
redis-cli mget uid_001 uid_002 //表示获取多个key的值

setnx
redis-cli setnx uid_001 "value" //表示当一个指定的key不存在时。设置这个key指定的value如果存在 设置不成功 返回 int(0)

setex
redis-cli setex 5 uid_001 "value"//表示设置一个key指定value保存5秒后失效  。设置key/value的有效期

mset
redis-cli mset a 'aa' b 'bb' c 'cc' //表示多键值对的数据保存 在保证原子操作的情况下

msetnx
redis-cli msetnx u 'uuu' m 'mm' //表示在单元子操作的情况下keys不存在的前提下插入多个values值 如果存在其中一个keys 插入失败

incr
redis-cli incr u  //表示对给定的key的value进行递增的操作 u 必须为整数也可对一个不存在变量递增

incrby
redis-cli incrby u 6 //表示对给定的key的value进行指定步长的递增操作

decr  
redis-cli decr u  //表示对给定的key的value进行递减的操作 u 必须为整数也可对一个不存在变量递减

decrby
redis-cli decrby u 4 //表示对给定的key的value进行指定步长的递减操作

append
redis-cli append content '01234'
redis-cli append content '56789'
redis-cli get content  //'0123456789'//表示追加一个value到指定的key中 如果key不存在 新建一个key

substr
redis-cli substr content 0 4 //表示返回指定key的value的部分字符串

del
redis-cli del name //删除指定的key

keys pattern
redis-cli keys * //查找符合给定模式的key

ttl
redis-cli ttl name //返回给定key的剩余生存时间,当key不存在或者过期时 返回-1

rename
redis-cli rename key newkey //将key改名为newkey当key和newkey相同或者key不存在时,返回一个错误。当newkey存在。rename将其覆盖

type
redis-cli type key //返回key中存储的value的值的类型

expire
redis-cli expire key 10 //为给定的key设置过期时间。

persist
redis-cli persist key //移除给定key的过期时间

sort
redis-cli lpush list001 30
redis-cli lpush list001 20
redis-cli lpush list001 25
redis-cli sort list001[desc,asc]//返回或保存给定列表、集合、有序集合key中的(经过排序的)元素。排序默认以数字作为对象,值被解释为双精度浮点数,然后进行比较
redis-cli sort liststr alpha  //当数据集中保存的是字符串值时,你可以用alpha修饰符(modifier)进行排序。   

redis-cli sort list001 limit 0 5 desc //修饰符可以组合使用。返回降序(从大到小)的前5个对象
redis-cli sort list001 limit 0 5 store key //保存排序结果

list 类型
rpush
redis-cli rpush list001 '001'
reids-cli rpush list001 '002'
redis-cli rpush list001 '003'
redis-cli lrange list001 0 3 //表示向指定key的list后面追加指定的value  另输出list  用lrange 并且要加上开始结束位置 输出全部的 0 -1

lpush
redis-cli lpush list001 'zhuijia'//表示向指定的key的list左边追加指定的value

llen
redis-cli llen list001 //返回指定的key list的长度

lrange
redis-cli lrange list001 0 4 //表示返回指定key list 里面的位置范围 value

ltrim
redis-cli ltrim list001 0 2 //删除指定key的值范围以外的数据

lindex
redis-cli lindex list001 2 //表示返回指定key list 里面索引的值

lset
redis-cli lset list001 1 'newvalue'表示给指定的key的list里面指定索引的值修改为一个新值

lrem
redis-cli lrem list001 1 'value' //表示删除指定key的list里面值为value的指定个数

lpop
redis-cli lpop list001 //表示删除指定key的list的最前面 左边的值 并返回该值
 
rpop
redis-cli rpop list001 //表示删除指定key的list的最后面 右边的值 并返回该值

rpoplpush
redis-cli rpoplpush list001 list002 'list001.value'//表示将原来key的list后面的值删掉 病保存在指定的木的的key中 并返回该值


集合
sadd
redis-cli sadd s001 '001' //表示向指定的key的集合中添加成员 不能有重复的值 而list可以有重复的值
redis-cli smembers s001 //输出这个集合里面的值

srem
redis-cli srem s001 'value' 删除指定key的指定value的值

spop
redis-cli spop s001 //表示从指定key的set集中随即删除一个成员value 并返回

smove
redis-cli smove s001 s002 'value'//表示从一个指定的key中移动一个指定的value成员到另一个指定的key中

scard
redis-cli scard s001 返回指定key的set集合value的成员个数

sismember
redis-cli sismember s001 'value' //表示判断指定的key的成员是否存在于sets集合中

sinter
redis-cli sinter s001 s002//表示对指定的key的sets集执行交集操作,返回指定sets集合中相同的value成员

sinterstore
redis-cli sinterstore s003 s001 s002 //表示将指定的key的sets集做交集。并将结果保存到指定的key中 保存到s003中

sunion
redis-cli sunion s001 s002 //表示对指定的key的sets集合做并集

sunionstore
redis-cli sunionstore s003 s002 s001//表示对指定的key的sets集合做并集,并将结果保存到指定的key中

sdiff
redis-cli sdiff s001 s002 s003//表示对给定的第一个key的sets集合与其他的key的sets集合的value进行对比,并返回不同的value的成员

sdiffstroe
redis-cli sdiffstore s004 s001 s002 s003//表示对给定的第一个key的sets集合与其他的key的sets集合的value进行对比,并返回不同的value的成员保存到一个指定的key

smembers
redis-cli smembers s001 //表示返回指定key的所有的sets集合的成员

srandmember
redis-cli srandmember s001 //表示返回一个给定key的sets集合中随即的一个成员


zsets 排序后的sets集合
zadd
redis-cli zadd z001 1 'value'//表示通过给定的积分顺序插入成员值到指定的key顺序sets集合中。如果成员存在则插入失败

zrem
redis-cli zrem z001 'value' //表示从给定的key的顺序sets集合中删除指定的成员

zincrby
redis-cli zincrby z001 2 'value'//表示给指定的key的成员的排序积分进行给定的递增值递增,如果积分为零,则将递增值作为积分排序

zrank
redis-cli zrank z001 'value' //表示获取当前指定key的成员在排序sets集合中的排名。从0开始计数。

zrange
redis-cli zrange z001 0 8//表示通过开始值,和结束值来获取指定key的排序sets集合中的成员范围。

zrevrange
redis-cli zrevrange z001 0 1//表示通过对指定的key的排序sets集合倒序后在获取指定范围的成员集

zcard
redis-cli zcard z001 //表示获取指定key的排序sets集合的成员的基数

zscroe
redis-cli zscroe z001 //表示获取指定key排序sets集合中成员的积分 也就是相当于数据的键

zremrangebyrank
redis-cli zremrangebyrank z001 4 5 //表示删除指定key的排序的sets集合中成员的排名范围的成员(通过排名范围删除成员)


hash
hset
redis-cli hset huid uid001 'value'
redis-cli hset huid uid002 'value'
redis-cli hset huid uid003 'value' //表示给指定的hash字段设置值 ,如果不存在则创建

hget
redis-cli hget huid uid001 //表示获取指定hash字段的值

hmget
redis-cli hmget huid uid001 uid002 uid003 //表示批量获取指定hash字段的值

hmset
redis-cli hmset huid uid004 'value' uid005 'value'//表示批量设置hash字段的值

hincrby
redis-cli hincrby huid uid001 1 // 表示对指定的hash字段的值进行递增操作最有一个参数为递增的数量

hexists
redis-cli hexists huid uid001 //表示判断指定的hash字段知否存在

hdel
redis-cli hdel huid uid001 //表示通过指定的hash字段删除hash值

hlen
redis-cli huid //表示返回hash长度


hkeys
redis-cli hkeys huid //表示返回指定hash的所有key

hvals
redis-cli hvals huid 表示返回指定hash的所有value

hgetall
redis-cli hgetall huid //表示返回指定hash的所有字段及关联的值