exists key 测试指定key是否存在 del key1 key2….keyN 删除指定key type key 返回指定key的value类型 keys pattern 返回指定模式的全部key rename oldkey newkey 更名字 dbsize 返回当前数据路的key数量 expire key seconds 为key指定过时时间 ttl key 返回key的过时剩余秒数 select db-index 选择数据库 move key db-index 把key从当前数据库移动到指定数据库 flushdb 删除当前数据库全部key flushall 删除全部数据库中的全部key 复制代码
set key value 设置key对应值为string类型的value setex key seconds value 设置key对应值为string类型的value,增长到期时间 mset key1 value1…keyN valueN 一次设置多个key的值 mget key1 …keyN 一次获取多个key的值 incr key 对key的值++操做,并返回新值 decr key 同上,可是作的是–操做 incrby key integer 同incr,加指定值 decrby key integer 同desr,减指定值 incrbyfloat key increment 对key的值增长一个浮点数 append key value 给指定key的字符串追加value substr key start end 返回截取过的key的字符串值  getrange key start end 获取存储在key上的值的一个子字符串 setrange key offset value 将从start偏移量开始的子串设置指定的值 复制代码
lpush key string 在key对应list的头部添加字符串元素 rpop key 在list的尾部删除元素,并返回删除元素 rpush key string lpop key lpush key string llen key 返回对应list的长度 lrange key start end 返回指定区间内的元素,从下表0开始 ltrim key start end 截取list, 保留指定区间内元素 lindex key 下标 获取列表下标对应的指定元素 blpop key[key…] time out 删除,并得到该列的第一元素, 或阻塞,直到有一个可用 brpop key[key…] time out 删除, 并得到该列的最后一个元素, 或阻塞,直到有一个可用 rpoplpush source destination 删除列表中的最后一个元素,将其追加到另外一个列表 brpoplpush source destination timeout 弹出一个列表的值,将他推到另外一个列表,并返回他,直到有一个可用 能够模拟 队列(先进后出) 和 栈(先进先出) 复制代码
hdel key field[field…] 删除一个或多个hash的field hexists key field 判断field是否存在hash中 hget key field 获取hash中field的值 hgetall key 从hash中读取所有的域和值 hincrby key field increment 将hash中指定域的值增长给定的值 hincrbyfloat key field increment 将hash中指定域的值增长给定的浮点数 hkeys key 获取hash 中全部field hlen key 获取hash中全部字段的数量 hmget key field[field…] 获取hash里面指定字段的值 hmset key field[field…] 设置hash字段值 hset key field value 设置hash里面一个字段的值 hsetnx key field value 设置hash的一个字段,只有这个字段不存在是有效 hstrlen key field 获取hash里面指定field的长度 hvals key 获取hash的全部值 hscan key cursor 迭代hash里面的元素 复制代码
sadd key member 添加一个string元素到key对应的set集合中 srem key member 从key对应set中移除给定元素 smove p1 p2 member 从p1对应set中移除给定元素并添加到p2对应set中 scard key 返回set的元素个数 sismember key member 判断member是否在set中 sinter key p1 p2…pN 返回全部给定key的交集 sunion key p1 p2…pN 返回全部给定key的并集 sdiff key p1 p2…pN 返回全部给定key 的差集 smembers key 返回key对应set的全部元素,结果是无序的 sinterstore destination key [key….]  获取两个集合的交集,并存储在一个关键的结果集 sunionstore destination key [key…]  合并set集合,并将结果存入新的set里面 sdifferstore destination key[key…] 获取队列的差集,并存储在一个新的结果集 srandmember key [count] 从集合中随机获取一个key spop key[count] 删除并取得一个集合里面的元素 smove source destination member 移动集合里的一个key到另外一个集合 复制代码
有时候还能够这样用,在zset里设置全部元素的score为0,就按元素首字母排序(自动补全)redis
* zadd key score member 添加元素到集合,元素在集集合中存在则更新应对的score
* zrem key member 删除指定元素
* zcount key min max 返回分数范围内的成员变量
* zincrby key incr member 按照incr幅度增长对应member的score值,返回score值
* zrank key member 返回指定元素在集合中的排名(下标),集合中元素是按score从小到大排序的
* zrevrank key member 集合中元素是按score从大到小排序的
* zrange key start end 从集合中选择指定区间的元素,返回的是有序集合
* zrevrange key start end 同上,返回结果是按score逆序的
* zcard key 返回集合中元素的个数
* zscore key member 返回给定元素对应的score
* zremrangebyrank key min max 删除集合中排名在给定区间的元素
* zinterstore distination numkeys 相交多个结果集,致使排序的设置存储在一个新的结果集
* zunionstore destination numberkeys
添加多个排序集合致使排序的设置存储在一个新的结果集,能够实现取得最大值(max),取得最小值(min)
复制代码
乐观锁: watch只会在数据被其余客户端抢先修改了的状况下通知执行这个命令的客户端,而不会阻止其余客户端对数据进行修改数据库
* discard 丢弃全部multi以后发的命令 * exec 执行全部multi以后发放人命令 * multi 标记一个事务块开始 * unwatch 取消事务命令 * watch key[key…] 锁定key,直到执行了multi/exec命令 复制代码
./redis-cli bgsave 异步快照持久化命令   save操做是在主线程中保存快照的(不推荐)
当执行shutdown命令后,会执行一个save命令,执行完毕以后关闭服务器
当从服务器向主服务器发送一个sync命令来执行一次复制操做,那么主服务器会执行bgsave命令
配置文件快照配置信息
save 900 1 (900秒内有1次修改备份)
save 300 10 (900秒内有10次修改备份)
save 60 10000 (60 秒内有10000 次修改备份)
复制代码
开启AOF持久化(设置以前全部数据被清空)
开启AOF持久化—>修改配置文件 appendonly yes
AOF备份存储文件—> appendfilename appendonly.aof
appendfsync always
每次收到写命令就当即强制写入磁盘,最慢的,可是保证彻底的持久化,不推荐使用,还有可能影响固态硬盘的寿命
appendfsync everysec
每秒钟强制写入磁盘一次,在性能和持久化方面作了很好的折中,推荐
appendfsync no
看心情
AOF备份文件优化处理 ./redis-cli bgrewriteaof
复制代码
从服务器(可读)配置文件修改:slaveof (主服务器ip地址和端口号)ip port # 从服务器默认禁止写入操做: slave-read-only yes # 当3个或3个以上的从数据库链接到主数据库时,主数据库才能够写入: min-slaves-to-write 3 # 容许从数据库失去链接的最长时间: min-slave2-max-lag 10 # 服务器终止复制操做 slaveof on one # 服务器开始复制一个新的主服务器 slaveof host port 从服务器在进行同步时,会清空本身的全部数据 redis不支持主主复制 主从链:随着读请求操做的重要性明显高于写请求的操做性, 增长从服务器,减轻主服务器的负担,从服务器能够有本身的从服务器 复制代码
遇到系统故障时,redis提供了数据恢复工具:bash
redis-check-aof 和 redis-check-dump服务器