redis学习笔记

一、 几种数据结构:
1、String:key->value
(1)添加:set key value/setnx key value(不存在时才添加,已存在返回0)/setex key time value(添加并设置有效时间)/setrange key index value(将key对应的值从index位置开始替换为value)/mset key1 value1 key2 value2(一次设置多个值,失败返回0)/msetnx key1 value1 key2 value2(同上一个,但不覆盖已有的);
(2)获取:get key/getset key value(重设值,并返回旧值)/getrange key index1 index2(返回key对应value的子串:index1到index2)/mget key1 key2 key3(一次获取多个值);
(3)加减法:incr key(如果key的值为int类型,加一;如果key的值为非int类型,返回错误;如果key不存在,则设置key的值为1,即认为原来值为0)/incrby key number(key的值加number,其他同上一个)/decr key/decrby key number(这是减法,规格同incr/incrby);
(4)字符串操作:append key val(将val追加在key对应的值后面)/strlen key(返回key对应的值的长度)
注意点:字符串的左面下标从0开始,右面下标从-1开始。
2、hash:map,即每个hash表中有一到多个键值对
(1)添加:hset myhash key value(添加键值对key->value到hash表myhash中)/hsetnx myhash key value(同hset,但不覆盖)/hmset myhash key1 value1 key2 value2(添加多个键值对到hash表myhash中);
(2)获取:hget myhash key(获取hash表myhash中键为key的值)/hmget myhash key1 key2 key3(获取hash表myhash中多个键的值)/hincrby myhash key number(hash表myhash中key对应的值加number);
(3)其他操作:hexists myhash key(判断myhash中是否存在键为key,0表示无,1表示有)/hlen myhash(返回myhash键数量)/hdel myhash key(删除myhash中键为key的键值对)/hkeys myhash(返回myhash中所有键)/hvals myhash(返回myhash中所有值)/hgetall myhash(返回myhash中所有键和值)
3、list: 由value串成的list
(1)添加:lpush mylist value(添加值value到mylist头部)/rpush mylist value(添加值value到mylist尾部)/linsert mylist before value1 value(将value插入到mylist中value1的前面)/lset mylist index value(将mylist中第index位置的值重设为value)
(2)获取:lrange mylist index1 index2(获取list中第index1个到第index2个)/lindex mylist index(返回mylist下标为index的值)/llen mylist(返回mylist的长度)
(3)删除:lrem mylist count value(删除|count|个mylist中值为value的元素,count>0:从头到尾删;count<0:从尾到头删;count=0:删除全部)/ltrim mylist index1 index2(只保留index1到index2范围的值)/lpop mylist(删除mylist头部并返回)/rpop mylist(删除mylist尾部并返回)/rpoplpush mylist1 mylist2(将mylist1的尾部移到mylist2的头部)
4、set:由value组成的set
(1)添加:sadd myset value
(2)获取:smembers myset(返回myset所有值)/sdiff myset1 myset2(返回两个set的差集)/sdiffstore myset myset1 myset2(将myset1与myset2的差集存在myset中)/sinter myset1 myset2(返回两个set的交集)/sinterstore myset myset1 myset2(将myset1和myset2的交集存在myset中)/sunion myset1 myset2(返回两个set的并集)/sunionstore myset myset1 myset2(将myset1和myset2的并集存在myset中)/scard myset(返回myset的元素个数)/sismember myset value(测试value是否为myset中的元素,1为是,0为否)/srandmember myset(随机返回myset中的一个元素,但不删除)
(3)删除:srem myset value(删除值为value的元素)/spop myset(随机删除并返回myset中的某个元素)/smove myset1 myset2 value(从myset1中移除value并添加到myset2中)
5、sorted set(zset):带排序的set
(1)添加:zadd myzset score value(添加value到myzset,score用于排序,如果已存在value,则更新其score)
(2)获取:zrange myzset index1 index2 withscores(返回myzset中下标范围为index1到index2的元素及其score值,按score从小到大顺序)/zrank myzset value(返回value在myzset中的排名,从0开始计数)/zrevrank myzset value(返回value在myzset中的倒序排名,从0开始计数)/zrevrange myzset index1 index2 withscores(zrange的倒序)/zrangebyscore myzset a b withscores(返回myzset中score在a到b范围的值和score)/zcount myzset a b(返回myzset中score范围在a到b的值的数量)/zcard myzset(返回元素个数)/zscore myzset value(返回myzset中value对应的score值)
(3)删除:zrem myzset value(删除myzset中值为value的元素)/zremrangebyrank myzset index1 index2(删除myzset中score排名在index1到index2之间的元素)/zremrangebyscore myzset a b(删除myzset中score值在a和b之间的元素)
(4)加减score:zincrby myzset number value(将值为value的score加number)
二、 redis常用命令:
1、keys pattern:返回给定pattern的所有key,pattern为正则表达式
2、exists key:判断是否存在key
3、del key:删除key
4、expire key time:设置一个key的过期时间
5、move key db:将一个key移到数据库db中
6、ttl key:返回key还有多长时间过期(-1表示无过期时间)
7、peisist key:移除key的过期时间
8、randomkey:随机返回某个key
9、rename oldkey newkey:将oldkey重命名为newkey
10、type value:返回value的类型
11、dbsize:返回当前数据库的key数量
12、flushdb:删除当前数据库的所有key
13、flushall:删除所有数据库的所有key
14、info:获取服务器信息和统计
15、config get:获取服务器配置信息
ps:redis的数据库编号为0-15,默认为数据库0。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
尚硅谷是一个教育机构,他们提供了一份关于Redis学习笔记。根据提供的引用内容,我们可以了解到他们提到了一些关于Redis配置和使用的内容。 首先,在引用中提到了通过执行命令"vi /redis-6.2.6/redis.conf"来编辑Redis配置文件。这个命令可以让你进入只读模式来查询"daemonize"配置项的位置。 在引用中提到了Redis会根据键值计算出应该送往的插槽,并且如果不是该客户端对应服务器的插槽,Redis会报错并告知应该前往的Redis实例的地址和端口。 在引用中提到了通过修改Redis的配置文件来指定Redis的日志文件位置。可以使用命令"sudo vim /etc/redis.conf"来编辑Redis的配置文件,并且在文件中指定日志文件的位置。 通过这些引用内容,我们可以得出结论,尚硅谷的Redis学习笔记涵盖了关于Redis的配置和使用的内容,并提供了一些相关的命令和操作示例。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Redis学习笔记--尚硅谷](https://blog.csdn.net/HHCS231/article/details/123637379)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Redis学习笔记——尚硅谷](https://blog.csdn.net/qq_48092631/article/details/129662119)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值