标签:
自己边学边记录的,写在了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