Redis入门操作笔记

来源:互联网 发布:java 手动编译web项目 编辑:程序博客网 时间:2024/05/16 16:16

Redis入门操作笔记

上传解压make进入文件夹安装到指定文件夹make PREFIX=/usr/local/ridis install进入/usr/local/ridis可以看见bin目录里边有redis-cli和redis-service等进入/home/docker/redis/redis-4.0.1(解压目录)赋值redis-conf文件到安装目录cp redis.conf /usr/local/ridis启动redis服务器进入:cd /usr/local/ridis执行:./bin/redis-server ./redis.conf启动客户端进入:cd /usr/local/ridis执行:./bin/redis-cli关闭:./bin/redis-cli shutdownString 命令笔记赋值:set key value(类似map)执行:set ower hulang(相同的key,不同的value会覆盖)获取:get key如果不存在则返回:(nil)删除指定key:del keydel ower返回值是数字类型,表示删除了几个:(integer1getset key value先获取该key的值,在为其设置新值getset name hulang原来的zhangsan就改成了hulang返回值是该key的原来的值(zhangsan)incr key将指定的key递增1,如果不存在,则先定义并赋值为0,再递增incr numget num结果为:1如果该key不能转换成数字,(error) ERR value is not an integer or out of rangedecr key 指定key递减 如果不存在,先定义并赋值为0 再递减如果该key不能转换成数字,(error) ERR value is not an integer or out of rangeincrby key increment将指定的keyvalue按指定数字增加,如果key不存在,则初始化key的值为0,再递增返回值是key递增后的值decrby key decrement将指定的keyvalue按指定数字递减,如果key不存在,则初始化key的值为0,再递增返回值是key递减后的值append key value拼接字符串,如果该key存在,则在原有的value后追加该值,如果该key不存在,则重新创建一个key/alue返回的是该字符串的长度清空数据库:flushdbhash操作:hset key 字段名 字段值 字段名 字段值……返回值是添加字段的个数hset student add beijing email 123@qq.com对应hget student email返回的是字段的值一次赋值多个字段hmset student add beijing email 123@qq.comhmget student add email一次取出多个值hgetall key取出所有字段hdel key 字段名删除指定字段del key删除所有字段添加测试数据hmset hulang name hulang age 23 qq 132 wechar a123 email 123@qq.comhincrby key field incrementhincrby hulang age 2把hash的某个字段增加指定数值,返回增加后的值hdecrby key field incrementhdecrby hulang age 2判断某个字段是否存在hexists hulang girlfirend存在返回1,不存在返回0查看hash包含多少个字段hlen key返回值是字段的个数查看所有字段名hkeys key查看所有字段的值hvals keycentOS7查看端口状态:firewall-cmd --state重新载入配置(添加新规则后执行此命令)firewall-cmd --reload永久添加端口(比如6379)firewall-cmd --add-port=6379/tcp --permanent关闭防火墙systemctl stop firewalld.service查看规则:iptables -L -n本机测试连接远程端口(cmd)telnet 192.168.43.108 6379 list笔记:【使用场景:用户时间线,发表的说说、朋友圈】添加数据:从左往右添加 lpush key value value value value从右往左添加 rpush key value value value value获取数据:     lrange key start end从开始索引取到结束索引的元素,超出了范围会将现有元素全部查出LPOP key  移除并返回最左端的元素,时间复杂度为O(1)RPOP key  移除并返回最右端的元素,时间复杂度为O(1)LLEN key 返回列表key的长度,时间复杂度为O(1)LINDEX key index 返回指定列表项,未找到返回nilindex可正可负,负数表示从后边找LSET key index value设置指定索引上的列表项LINSERT key BEFORE|AFTER pivot value在指定元素前/后插入列表项,成功返回新列表长度,时间复杂度为O(N)LREM key count value(效率低)根据参数count的值,移除列表中与参数value相等的列表项count大于0,从表头向表尾搜索,移除最多countcount小于0,从表尾向表头搜索,移除最多countcount等于0,移除所有值为value的列表项返回被移除项的数量LTRIM key start stop对一个列表进行截取,只保留指定索引范围内的元素,其他删除命令的复杂度为O(N)RPOPLPUSH resouce destination从resouce 弹出 添加入 destination头部RPOPLPUSH list list循环队列,参数是同一个列表Set 基本操作SADD key member[member member member member member member]返回新添加到集合的元素数量SREM key element[element element]移除一个或多个元素,返回存在并被移除的元素的数量SISMEMBER key element检查给定元素是否存在于集合中,存在返回1,不存在返回0【使用场景:看视频前的是否是会员判断】SCARD key 返回集合的大小SMEMBERS key 返回集合包含的所有元素【点赞次数、投票功能】SPOP key 随机移除一个元素(因为是无序的,所以移除谁是随机的)SRANDMEMBER key [count]随机取出包含一个或指定个数元素的数组,不会删除注:当count为负数时,会返回一个数组,数组中的元素可能会出现多次,而数组的长度为count的绝对值【使用场景:微博抽奖、转发抽奖等】SDIFF key key [key……]计算所有给定集合的差集并返回结果SDIFFSTORE destkey key key [key……]计算所有给定集合的差集,并将结果存储到destkeySINTER key key 计算所有给定集合的交集,并返回结果SINTERSTORE destkey key key [key……]计算所有给定集合的交集,并将结果存储到destkeySUNION key key [key……]计算所有集合的并集,并返回结果SUNIONSTORE destkey key [key……]计算所有集合的并集,并存储到destkey中【使用场景:微博的共同关注、QQ的共同好友、网购商品刷选】有序集合笔记(soted set/zset)待续……
原创粉丝点击