标签:
自己边学边记录的,写在了excel里,这里直接沾出来,懒得美化加工了。
基础篇 |
||
命令 |
说明 |
redis命令是原子性的 |
键值类型数据 |
redis范围都是左开右开 |
|
set |
设置值,如set s 1 |
范围若左0,右-1为全部 |
get |
获取值,如get s |
任意key的值都可用type判断类型 |
incr |
让某个数值类型的key自增1,如incr s |
|
del |
删除某个key,多key空格间隔,如del s b |
|
keys |
查找某个(些)key,如keys s |
|
select |
选择数据库,默认0,如:select 2 |
|
incrby |
按给定的数字递增,如incrby s 6 |
|
decr |
递减1,如,如decr s |
|
decrby |
按给定的给定参数递减,如decrby s 5 |
|
incrbyfloat |
按给定的参数进行浮点数递增,如incrbyfloat s 2.7 |
|
append |
向键值的末尾追加value并返回追加后的长度,若不存则则新建,如append s a |
|
strlen |
获取字符串的长度,如strlen s |
|
mget |
同时获取多个key的值,如mget bat ss |
|
mset |
同时设置多个key,如mset key1 val1 key2 val2 |
|
getbit |
获取字符串类型键指定位置的二进制位的值 |
|
setbit |
设置字符串类型键指定位置的二进制位的值 |
|
bitcount |
获取字符串键值是1的二进制位个数 |
|
bitop |
对多个字符串类型键进行位操作 |
|
散列数据 |
|
|
hset |
散列数据,如hset obj1 id 1 |
|
hget |
散列数据,如hget obj1 id |
|
hmset |
批量设置散列数据,如hmset obj1 id 1 name 张安 age 18 |
|
hmget |
批量获取散列数据,如hmget obj1 id name age |
|
hmgetall |
获取散列数据全部属性,如hgetall obj1 |
|
hexists |
判断散列数据某列是否存在,如hexists obj2 age |
|
hsetnx |
设置散列数据某列值,先判断,若已存在不进行任何操作,若不存在插入数据,如hsetnx obj2 age 23 |
|
hincrby |
增加某列数据,如hincrby obj2 age 1 |
|
hdel |
删除某列属性,如hdel obj2 age |
|
hkeys |
获取散列数据的字段名集合,如hkeys obj2 |
|
hvals |
获取散列数据的值集合,如hvals obj2 |
|
hlen |
获取字段数量,如hlen obj2 |
|
列表类型 |
|
|
lpush |
向列表左边增加元素,返回添加后的长度,多个以空格隔开,如lpush num 1 |
|
rpush |
向列表右边增加元素,返回添加后的长度,多个以空格隔开,如rpush num 1 |
|
lpop |
向左边弹出第一个数据,如lpop num |
|
rpop |
向右边弹出第一个数据,如rpop num |
|
llen |
获取列表元素的个数,如llen num |
|
lrange |
截取,正数从左边开始,负数从右边开始,如lrange num 1 3 |
|
lrem |
删除前count值为value的元素,count>0从左边删,county<0,从右边删,count=0,全部删除如,lrem num count value |
|
lindex |
返回指定index位置的元素,>=0左边开始,<0右边开始,如lindex num 0 |
|
lset |
替换指定index位置的元素,如,lset num 0 1 |
|
ltrim |
删除指定范围外的所有数据,如ltrim num 1 3 |
|
linsert |
向某个元素前(后)插入元素,如,linsert num after 1 3、linsert num before 1 3、 |
|
rpoplpush |
从一个列表右边弹出一个数据,插入到另一个列表的左边,如rpoplpush num num2 |
|
集合类型 |
|
|
sadd |
添加集合元素,如:sadd set a |
|
srem |
删除元素,如:srem set a |
|
smembers |
获取集合所有元素,如smembers set |
|
sismember |
判断元素是否在集合中,如sismember set a |
|
sdiff |
集合差集(相对于第一个参数的差集),如sdiff set set2 |
|
sinter |
集合交集,如sinter set set2 |
|
sunion |
集合并集,如sunion set set2 |
|
scard |
获取集合中元素个数,如:scard set |
|
sdiffstore |
对集合进行差集运算并将结果存储(其他如sinterstore、suinonstore),如: |
|
srandmember |
随机获得集合中的元素,,若后面跟上数值,如果数值大于0,则取数值个不重复的元素,若为负数,则取数值个元素,但可能是重复的,如:srandmember set |
|
spop |
从集合中随机弹出一个元素,如spop set |
|
有序集合类型 |
|
|
zadd |
添加元素,如zadd array 89 tom |
|
zscore |
获取元素的分数,如:zscore array tom |
|
zrange |
按分数从小到大获取在某个范围的元素列表,下标从0开始,-1代表最后一个元素,如zrang array 0 10 |
|
zrevrange |
按分数从大到小获取在某个范围的元素列表,下标从0开始,-1代表最后一个元素,如zrang array 0 10 |
|
zrangebyscore |
获取指定分数范围内从小到大顺序的元素,如zrangebyscore array 50 90,若要同时获取分数,在命令最后加上withscores,若要分页查询,在命令后加limit,用法同sql中的limit一样 |
|
zrevrangebyscore |
获取指定分数范围内从大到小顺序的元素,如zrangebyscore array 50 90,若要同时获取分数,在命令最后加上withscores,若要分页查询,在命令后加limit,用法同sql中的limit一样,此命令参数第一个参数是最大值,第二个参数是最小值 |
|
zincrby |
增加某个元素的分数(在原基础上增加),若值为负数则是减分,如:zincrby array 70 tom |
|
zcard |
获取集合中元素个数,如:zcard array |
|
zcount |
获取指定分数范围内的元素个数,如:zcount array 50 90 |
|
zrem |
删除一个或者多个元素,zrem array tom |
|
zremrangebyrank |
按照排名范围(从小到大)删除元素,如:zremrangebyrank array 0 2 |
|
zremrangebyscore |
按照分数范围删除元素,如:zremrangebyscore array 4 5 |
|
zrank |
获得元素的排名,如:zrank array tom |
|
zinterstore |
计算交集并将结果存储到一个新的key里,如:zinterstore newkey 2 array1 array2,2是取多少个key,对新集合中每个元素对比原来的值是根据参数aggregate判断的(sum、max、min),另外可设置集合的权重weights 1 0.1;同样的命令还有差集,并集 |
|
进阶篇 |
||
事物 |
基本命令: |
|
|
||
|
||
时效 |
基本命令: |
|
|
||
|
||
缓存 |
当用redis做缓存时: |
|
|
||
|
||
|
||
排序 |
基本命令: |
|
|
||
|
||
|
||
|
||
|
||
队列 |
基本命令: |
|
|
||
发布/订阅 |
基本命令: |
|
|
||
持久化(适用于服务器重启) |
RDB方式:自动持久化(异步): |
|
|
||
|
||
|
||
主从复制 |
主库不用任何操作,从库启动时额外加上启动参数slaveof 主库地址 主库端口 |
|
|
||
哨兵 |
功能:监控redis是否正常运行,当出现故障时,自动切换从库为主库 |
|
|
||
|
||
集群 |
使用: |
|
|
||
|
||
|
||
|
||
管理篇 |
||
bind |
绑定ip,使指定ip的主机才能连接 |
|
密码 |
在配置文件里配置requirepass属性,注意这里可用穷举法破解,使用命令时需要先用auth 密码认证 |
|
命令命名 |
在配置文件里使用rename-command属性对命令进行重命名 |
|
管理工具 |
redis-cli: |
|
|
标签:
原文地址:http://my.oschina.net/shyloveliyi/blog/523305