1.通过CMD命令窗口远程登陆
redis-cli -h ip -p 6379 -a "123456"
2.切换库
select num //num表示库的编号0-15
3.清除数据(大家自行测试哈哈~)
del keyname //删除指定键及数据 flushall //清空整个redis数据,所有库 flushdb //清除当前库的数据
set key value //设置一个新的键值 get key //通过键获取值
mset //同时设置一个或者多个key-value对 mget //返回所有(一个或者多个)给定key的值
incr key //将key中储存的数字值增1(如果key不存在,则初始化为0,在进行+1操作) decr key //同上 incrby key value //将key中储存的数字值自增value decrby key value //
其他对key的常用操作
keys * //查看当前库的所有key del key //删除key expire key x //设置key的过期时间(X秒之后过期) ttl key //查看key的过期时间
list可以看作是一个左右排列的队列(列表)
redis如何实现栈和队列
list, 控制一边进,同一边出,就是栈; 一边进,另一边出,就是队列
插入值
lpush key value //将一个或者多个value值插入到列 表key的表头(最左边) rpush key value //同上(最右边)
移除值
lpop key //移除并且返回列表key(所有key)的头(最左边)元素 rpop key //移除并且返回列表key的尾(最右边)元素
对于list类型来说,查询键所对应的值,使用的是:
lrange key start end 表示当前查询的是指定区间 start 到 end范围的元素,第一个元素是0开始。
查询所有的元素end=-1即可:lrange key 0 -1
lrange key start end//返回列表key中指定区间内的 元素,查询所有的元素end值为-1即可 lrem key count value //根据count值移除列表key中与参valu素 // count > 0 : 从表头开始向表尾搜索,移除与 value 相等的元素,数量为 count 。 // count < 0 : 从表尾开始向表头搜索,移除与 value 相等的元素,数量为 count 的绝对值。 //count = 0 : 移除表中所有与 value 相等的值。
lindex key index //返回列表key中,下标为index的元素 ltrim key start stop //对一个列表进行修剪
返回裂变元素:
剪切:
剪切之后只会保存剪切的元素,其他元素不会再存在
set集合是无序的不含重复值的队列
smembers key //查看键对应的元素
创建一个键 或 增加元素到指定键:
sadd key value(value01 value 02) //将一个或者多个 元素加入到集合key中,已经存在于集合的元素将会被忽略。 srem key value //移除集合key中的一个或者多个元素, 不存在的元素将会被忽略。
……
hset keyname key value //对指定键设置单个键值,不存在该键会自动创建 hmset keyname key value //对指定键批量设置键值 hget keyname key //获取指定键的键值 hmget keyname key01 key02 //批量获取指定键的键值 hgetall keyname //获取指定键下面的所有 键 和 值 hdel keyname key //删除指定键下的某个键值对
hlen keyname //获取指定键下面的键值对数量 hexixts keyname key //判断指定键下面键值是否存在
hkeys keyname //获取指定键下的所有键值对的键 hvals keyname //获取指定键下的所有键值对的值
hsetnx //如果项不存在则赋值,存在则不做操作
Redis 的集合(sorted set)
和集合一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
有序集合的成员是唯一的,但分数(score)却可以重复。
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。
//添加一个zset键 ZADD key score1 member1 [score2 member2]
未完待续。。。。。。