目录
1.下载
Redis官网下载地址:http://redis.io/download,下载相应版本的Redis,在运行中输入cmd,然后把目录指向解压的Redis目录。
2.服务端和客户端端命令
- 连接 redis : redis-cli
- 运行测试命令:ping
- 切换库(默认进来的是0号库,一共有16个库,所以最大到15) : selcet 1 (切换到1号库)
- 启动服务:redis-server.exe --service-start
- 停止服务:redis-server.exe --service-stop
- redis-server.exe --service-uninstall
3.redis数据操作
3.1String类型
值是一个String类型,字符串类型
①设置key-value:set 键名 键值 例如:set name tong (设置键名为name,键值为tong)
②通过键名获取键值: get 键名 例如: get name (就会获得"tong"字符串)
③删除键值对: del 键名 例如: del name(就删除了键名为name的键值对)
④设置有时间限时的键值对:setex 键名 时间(秒) 键值 例如 setex name 100 tong (设置键名为name的有100秒限制的键值对,100秒后自动删除)
⑤查看键值对的有效期: ttl 键名
⑥同时设置多个键值对:mset 键名1 键值1 键名2 键值2 .....(以此类推) 例如:(mset name tong age 22 address shanxi)
⑦同时获取多个键值: mget 键名1 键名2 键名3...(以此类推) 例如:(mget name age address)
⑧向一个键值对中的值后面追加数据: append 要追加的键名 要追加的值 (append name 123456)
3.2 键命令
①查看有哪些key:keys * (列出了所有的key)
keys a*(查看以a开头的所有key)
②判断key是否存在: exists 键名
③查看key的类型: type 键名
④设置key的键值对的过期时间(以秒为单位):expire 键名 时间(秒)
3.3 list(列表)
列表的元素类型为string,按照插入顺序排序
①从列表左边插入值: lpush 列表名 列表值1 列表值2...(可以插入多个也可以插入一个)
②从列表中获取值: lrange 列表名 索引开始 索引结束 (例如lrange list1 0 -1 :取出list1中的第0个到最后一个,也就是取出全部的列表值)
取列表中的第一个 lrange 列表名 0 0 , 取列表中的前两个 lrange 列表名 0 1
③从列表右边插入值:rpush 列表名 列表值1 列表值2...(可以插入多个也可以插入一个) 获取方法和②一致
④移除列表中的值,lrem 列表名 count(相同的删除几个) 要删除的值 注意:如果count>0,从头到尾移除,如果count<0,是从后往前删除 count=0则删除所有要删除的值
例如:lrem list2 2 aaa(从前往后删除2个值为aaa的值) 例如: lrem list2 -2 aaa(从后往前删除2个值为aaa的值)
④更新列表中的值: lset 列表名 第几个 要更新的值 (例如: lset list2 0 ccc:修改list2中第一个的值为ccc)
⑤给某个值的前面插入值:linsert 列表名 before 某个值 要插入的值 (例如: linsert list2 before bbb aaa: 给list2中的bbb前面插入aaa)
3.4 hash
hash用于存储对象,对象的结构为属性,值 ,值的类型为string hash有个大key,
①创建hash : hset 键名 属性名 属性值
②获取hash:hget 键名 属性名
③创建多个hash: hmset 键名 属性名1 属性值1 属性名2 属性值2 属性名3 属性值3.。。。。(可以有很多个)
④获取hash中的所有属性名和属性值:hgetall 键名
⑤获取hash中键名下面的所有属性名:hkeys 键名
⑥获取hash中键名下面的所有属性值:hvals 键名
⑦删除hash中键名的下面的某个属性名和属性值:hdel 键名 属性名
⑧删除这个hash:del 键名
3.5 set类型(无序集合)
无序集合,元素具有唯一性,不重复,对于集合没有修改操作
①向集合中添加成员:sadd 集合名 值1 值2....(以此类推)
②查看集合中的成员:smembers 集合名
③移除集合中的成员:srem 集合名 要移除的成员 (例如:srem classname zhangsan : 移除classname无序集合中的zhangsan)
3.5 zset类型(有序集合)
有序集合,元素具有唯一性,不重复,每个元素都会关联一个double类型的score,表示权重,通过权重将元素从小到大排序
①向有序集合中添加成员:zadd 集合名 权重1 值1 权重2 值2 权重3 值3...(以此类推) (例如:zadd result 100 zhangsan 99 lisi 98 xiaowang : 向result集合中添加权重为100的zhangsan...)
如果单独添加,会按照权重的大小从小到大排序,如果插入的值为相同的话,则不会添加新的一样的值(权重不一样会重新修改权重)
②查看有序集合: zrange 集合名 索引开始 索引结束 (例如:zrange result 0 -1:获取到result集合中从第一个开始到最后一个结束的值,也就是全部的值,这个本博客上面有说)
③删除指定成员:zrem 集合名 值1
④按照权重来删除成员(按照权重范围)0:zremrangebyscore 集合 最小权重 最大权重 (例如:zremrangebyscore result 80 100 :删除权重最小为80最大为100,包括80和100的权重的值)