参考文章:http://www.cnblogs.com/daijinjiang/archive/2013/01/09/2852654.html
redis服务端基本命令
服务端命令:
redis
一,string:
1,set name value
2,setnx name value: 如果已经存在的值 不进行操作 不覆盖
3,setex name time value: 设置一个值 还有一个失效时间
4,setrange name 6 gmail: 第6个字符开始替换字符串
5,mset ke1 val1 key2 val2: 设置多个值
6,msetnx 一次性设置多个值 不覆盖 有一个不成功所有都不成功
7,getset 设置key的值 并返回key的旧值
8,getrange 获取key的value值的子字符串
9,mget 一次获取多个key的值
10,incr key 对key的只做加加错做
11,incrby key 5 对key自增5(-5减5)
12,decr 自减
13,decrby 自定义自减
14,append key test 给指定的key追加value
15,strlen key 取指定key的长度
二,hashes类型及操作
1,hset 设置hash field为指定值
2,hget 获取
3,hsetnx
4,hmget 获取所有健
5,hincrby
6,hexists 测试指定field是否存在
7,hlen 返回所有健数
8,hdel 删除指定hash的field
9,hkeys 返回hash所有的field
10,hvals 返回hash表里的所有value
11,hgetall 获取某个hash中全部的field和value
三,lists类型:既可以做堆也可以做栈 队列(先进先出)
1,lpush mylist 'world' 在mylist压入world
2,lrange mylist 0,-1 从头取到尾
3,rpush mylsit2 'hello' 尾部压入一个元素
4,linsert mylist1 before 'world' 'hello' 在world前面压入一个hello
5,lset mylist 0 'test' 将下标为0的设置成test
6,lrem mylist 1 'hello' 删除mylist中一个hello(0全部删除)
7,lrtim list1 1 -1 从下标为1的元素开始删除
8,lpop mylist 从list的头部弹出一个元素
9,rpop mylist 从list的尾部弹出一个元素
10,rpoplpush list5 list6 从单出一个元素 添加到第二个list的头部
11,lindex list5 0 返回list为0下标的值
12,llen list1 链表的元素个数
四,sets类型
无序集合
1,sadd myset 'hello' 在myset集合中添加hello元素
2,srem myset 'hello' 在myset集合中删除hello元素
3,spop myset 在myset中随即弹出一个元素
4,sdiff myset2 myset3 去myset2和myset3取差集
5,sdiffstore myset3 myset2 myset1 将myset3 和 myset2 的差集存到myset1里面
6,sinter myset2 myset3 取交集
7,sinterstrore 将取出的交集存到另一个集合
8,sunion 取并集
9,sunionstore 取出并集并存储
10,smove myset2 myset7 three 将myset2的three移到myset7
11,scard myset2 查看集合元素的个数
12,sismember myset2 one 判读myset2中有无one元素
13,srandmember myset1 随即返回集合元素
有序集合
sorted set 在set的基础上增加了一个顺序属性
14,zadd myset 1 'one' 有序集合添加
15,zrange myset 0 -1 withscores 取一定范围的集合值
16,zrem myset two 删除myset集合里的two
17,zincrby myset 2 "one" 增加one的顺序号
18,zrank myset two 获取元素的索引值
19,zrevrank
20,zcount 返回集合这呢个score在给定区间的数量
21,zcard 返回集合中的元素个数
22,zrmrangebyrank 删除范围元素 按索引
23,zrmrangebyscore 删除范围元素 按顺序
键值相关命令
key 匹配key
exists 确认keys是否存在
del 删除key
expire 设置健的过期时间
ttl 查看键的过期时间
move 将当前数据库的key转移到其他数据库
persist 对键取消定时
randomkey 随即返回key空间的一个key
rename 重命名key
type 返回健的数据类型
服务器的相关命令
ping 测试连接是否正常
echo 输出什么就是什么
select 选择数据库
quit 退出客户端
dbsize 返回key的所有数量
info 获取服务器的信息和统计
config_get 实时传储收到的请求
flushdb 删除当前选择数据库中的所有key
flushall 删除所有数据库中的所有key
高级应用
1,安全性
设置连接密码: 配置文件 参数 requirepass 密码
授权的方法 auth 密码
登陆的授权 redis-cli -a 密码
2,主从复制
3,事务处理
1,mutil 事务开始
2,exce 执行
4,持久化机制
5,发布订阅消息
php中使用的redis方法
一,string
二,hash
1,hmset(key,array); 设置hash多个值
2,$redis->hGetAll('h'); 返回名称为h的hash中所有的键(field)及其对应的value
三,list
1,lPush(key, value); 在list头部添加一个值value的元素
2,lSize(key); 查看队列的长度
3,$redis->lRange('key1', 0, -1); 返回名称为key的list中start至end之间的元素(end为 -1 ,返回所有)
四,set
五,zset
1,Zadd('zset1', '0', '11') 有序集合中添加元素
2,zRevRange('zset1', 0, -1) 查看所key和val
3,zSize('zset1') 集合元素的个数