启动redis:
redis-server;默认端口为6379
redis-server --port 6380;自定义端口
停止redis :
kill -9 redisPid ;根据pid强制杀死redis进程
远程连接redis:(redis3.0默认启用安全防护模式,需要通过xxxx:6379> CONFIG SET protected-mode no // 禁用防护模式,并且配置文件修改bind 绑定0.0.0.0 可远程访问)
redis-cli;不带参数,默认连接本地6379端口
redis-cli -h 192.168.1.254 -p 6379;带参数
简单数据类型的操作(字符串,数值)
赋值和取值: set key value;get key;
对于值为数值的数据值递增:incr key;
对于值为数值的数据值递减:decr key;
对于值为数值的数据,根据参数增加指定数值:incrby key increment;
对于值为数值的数据,根据参数减少指定数值:decrby key increment;
对于值为数值的数据,根据参数增加指定浮点数:incrbyfloar key increment;
向尾部追加:append key value;
获取字符串长度:strlen key;
同时设置/获取多个键值:mset key value key2 value2,mget key1 key2;
获得符合规则的键列表: key pattern(pattern为匹配规则,* 代表全匹配);
判断键是否存在:exists key;
删除键值:del key;
散列数据类型的基本操作:
散列数据类型赋值/取值:hset key field value,hget key field;
散列数据类型多个字段的赋值/取值 hmset key field1 value1 field2 value2;hget key field1 field2;
散列数据类型取出所有字段的值hgetall key;
判断散列数据类型是否包含某字段:hexists key field;
散列数据类型某字段不存在则赋值,存在不更新该字段的值:hsetnex key field value;
散列数据类型为数值型的字段增加数值:hincrby key field 65;
散列数据类型删除字段:hdel key field;
散列数据类型只获取键/值:hkeys key;hvals key;
散列数据类型获取字段的个数:hlen key;
列表数据类型的操作
列表右端/左端增加元素:rpush key value1 value2,lpush key value1 value2;
列表长度:llen key;
获取列表片段:lrange key start stop;
从左端/右端弹出元素,同时列表删除该元素:lpop key;rpop key;
删除列表中指定的值:lrem key count value ;count >0 从左端删除count个 ,count < 0从右端删除|count|个, count = 0 删除所有等于value 的元素;
根据下标取值/赋值:lIndex key index,lset key index value;
保留指定片段的值:ltrim key start end;
在指定值pro前/后插入元素 :Linsert key before/after pro value;
将一个列表最右面的数据放到另一个列表最左面Rpoplpush sourcekey destkey;
无序集合的操作
向集合中添加元素 sadd key value1 value2;
删除集合中元素 srem key value1 value2;
获得集合中的所有元素 smembers key ;
判断集合中是否包含某元素 sismember key memebr;
集合的差集/交集/并集运算 sdiff key1 key2 key3,sinsert key1 key2,sunion key1 key2;
集合中元素个数 scard key;
集合运算之后存储 sdiffstroe destkey key1 key2;sinsertstore destkey key1 key2;sunionstore destkey key1 key2;
随机获取集合的元素:srandmember key [count];count为随机个数 可有可无,没有该参数 随机一条;
随机选择一条数据弹出 spop key;
有序集合操作
有序集合和列表的区别:列表是链表实现,存取两边,而有序集合为散列表和跳跃表实现,所以即使取中间数据也快,所以有序集合更耗内存。
增加元素:zadd key score member score member;
获得元素分数;zscore key member;
score升序之后查询范围内 zrang key start end [withscores] ;-1 代表最后一个
score降序之后查询范围内 zrevrang key start end [withscores] ;-1 代表最后一个
获取指定分数范围的元素 zrangbyscore key min max [withscores] [limit offset count]
增加某个元素的分数 zincrby key increment member;
获取集合中元素的数量 zcard key;
获取指定分数范围的元素个数 zcount key min max;
删除一个或多个元素 zrem key member1 member2;
按照排名范围删除元素zremrangbyrank key start stop;
按照分数范围删除元素zremrangbyscore key min max;
获取元素排名 升序/降序 zrank key member,zrevrank key member;
redis 事务命令
开始事务 multi
结束事务 exec
watch key 以防止竞态条件
设置key的过期时间 ,单位是秒 expire key seconds;
取消key过期时间 persist key;
查看key的剩余时间 TTl key;-1 代表永久存在 -2 代表不存在该key