【Redis】redis基础指令

本文全面介绍了Redis的各类命令,包括基础操作、数据类型管理、事务处理等,覆盖字符串、哈希、链表、集合、有序集合等多种数据结构的操作,以及备份、恢复、安全配置和事务管理等方面的知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【1】Redis基础命令

redis-server  redis.conf:启动Redis服务

redis-cli  shutdown:关闭Redis服务

redis-cli :启动redis客户端

redis-cli -h host -p port -a password:连接到远程redis服务

redis-cli -c -h host -p -a password:连接到远程redis集群

config  get  requirepass:获取redis系统参数

config  set  requirepass  xxx:设置redis系统参数

【2】Redis连接

PING:检测redis服务是否启动

AUTH  password:验证redis密码

ECHO message:打印字符串

QUIT:关闭当前链接

SELECT index:切换到指定的数据库

DBSIZE:数据库key的数量

FLUSHDB:清空当前数据库

FLUSHALL:清空所有数据库中所有的key

INFO:返回redis服务器的各种信息和统计数值

SAVE:执行一个同步保存操作,将当前redis实例的所有数据快照以RDB文件的形式保存到硬盘

 

【3】Redis键(key)

Redis键命令基础语法:COMMAND    KEY_NAME

KEYS pattern:查找所有符合给定模式(pattern)的key

SET key value:指定key设置指定值

DEL key:key存在时删除指定key

DUMP key:序列化给定key,并返回被序列化的值

EXISTS key:检查给定key是否存在

EXPIRE key seconds:给指定key设置过期时间,单位-秒

PEXPIRE key milliseconds:给指定key这只过期时间,单位-毫秒

PEXPIREAT key millseconds-timestamp:设置key过期时间的时间戳(unix timestamp),单位-毫秒

MOVE key db:将当前数据库的key移动到给定的数据库db当中

PERSIST key:移出key的过期时间,key将持久保持

TTL key:以秒为单位,返回指定key的剩余生存时间(TTL-time to live)

PTTL key:以毫秒为单位返回key的剩余生存时间

RANDOMKEY:从当前数据库中随机返回一个key

RENAME  key  newkey:修改key的名称

RENAMENX key  newkey:仅当newkey不存在时,将key改名为newkey

TYPE key:返回key所储存的值的类型

【4】Redis字符串(String)

SET   key  value:设置指定key的值为value

GET  key:获取指定key的值

GETRANGE  key  start  end:返货key字符串的子字符

GETSET   key  value:将指定key的值设为value,并返回key原来的值

MGET  key1  [key2]:获取多个key的值

SETEX  key  seconds  value:将当前值关联到key,并设置key的过期时间为seconds(秒)

SEXNX  key  value:只有当key不存在时设置key的值

STRLEN  key:返回key所存储的字符串值的长度

MSET  key  value [key  value...]:同时设置多个key-value对

MSETNX  key value [key value...]:同时设置多个key-value对,当且仅当所有给定key都不存在

PSETEX  key  millseconds  value:将value关联到key,并且设置key的过期时间为millseconds(毫秒)

INCR  key:将key中储存的数字加1

INCRBY  key  increment:将key中储存的数字加上给定的增量之(increment)

INCRBYFLOAT  key  increment:将key所储存的值加上指定的浮点增量值(increment)

DECR  key:将key中储存的数字减1

DECRBY  key  decrement:将key储存的值减去给定的减量值(decrement)

APPEND  key   value:如果key存在并且是一个字符串,将给定的value追加到原来值的末尾

【5】Redis哈希(Hash)

HDEL key  field1  [field2]:删除一个或多个哈希表字段

HEXISTS  key  field:查看哈希表key中,指定字段是否存在

HGET  key  field:获取存储在hash表中指定字段field的值

HGETALL  key:获取指定hash表中所有字段和值

HINCRBY  key  field  increment:为hash表key中的指定字段field的整数值加上增量increment

HINCRBYFLOAT  key  field  increment:为hash表key中指定字段field的浮点数加上增量increment

HKEYS  key:获取hash表中的字段

HLEN  key:获取hash表中字段的数量

HMGET  key  field1 [field2]:获取hash表中所有给定字段的值

HMSET  key  field1 value1 [field2 value2]:同时将多个key-value对设置到hash表key中

HSET  key  field  value:将hash表key中的字段field的值设置为value

HSETNX  key  field  value:只有在字段field不存在时,设置hash表字段的值

HVALS  key:获取hash表中的所有值

【6】Redis链表(List)

BLPOP  key1 [key2]  timeout:移出并获取链表头部的第一个元素,如果没有元素则会阻塞直到超时或者可弹出元素为止

BRPOP  key1 [key2]  timeout:移出并获取链表尾部的第一个元素,如果没有元素则会阻塞直到超时或者可弹出元素为止

BRPOPLPUSH  source  destination  timeout:从链表尾部弹出一个元素并插入到另外一个链表,如果没有元素则会阻塞直到超时或者可弹出元素位置

LINDEX  key  index:通过索引获取链表的元素

LINSERT   key  BEFORE | AFTER  pivot  value:在链表元素前或者后插入元素

LLEN  key:获取链表长度

LPOP  key:移出并获取链表的第一个元素

LPUSH  key  value1 [value2]:将一个或多个值插入链表头部

LPUSHX  key  value:将一个值插入到已存在的链表头部

LRANGE  key  start   stop:获取链表指定范围内的元素

LREM  key count  value:移出链表元素

LSET  key  index  value:通过索引设置链表指定位置的值

LTRIM  key  start  stop:对链表进行修剪(trim),即只保留指定区间内的元素

RPOP   key:移出并获取链表的最后一个元素

RPOPLPUSH  source  destination:移出链表source的最后一个元素,并将该元素追加到另外一个链表destination的头部并返回

RPUSH  key  value1 [value2]:在链表尾部添加一个或多个值

RPUSHX  key   value:为已存在的链表尾部追加值

【7】Redis集合(Set)

SADD  KEY  value...:向集合中添加一个或多个元素

SREM  KEY  value ...:移出集合中一个或多个成员

SMEMBERS  key:返回集合中的所有成员

SPOP  key:移出并返回集合中的一个随机元素

SRANDMEMBER  key  count:返回集合中一个或多个随机数

SCARD  key:获取集合的成员个数

SISMEMBER  key  value:判断成员value是否存在于集合中

SMOVE  source   destination   value:将value元素从source集合移动到destination集合中去

SINTER   key ...:返回所有给定集合的交集

SUNION  key ...:返回所有给定集合的并集

SDIFF   key ...:返回给定所有集合的差集

SINTERSTORE  destination  key...:返回给定集合的交集并存储到destination中

SUNIONSTORE  destination  key...:返回给定集合的并集并存储到destination中

SDIFFSTORE  destination   key....:返回给定集合的差集并存储到destination中

【8】Redis有序集合(Sorted Set)

【9】备份与恢复

SAVE:保存redis数据,该命令将在Redis安装目录中创建dump.rdb文件

CONFIG   GET  dir:获取redis的安装目录

BGSAVE:在后台执行redis保存命令

恢复时,只需要将dump.rdb文件放在启动目录下,重启redis服务即可恢复数据了

【10】Redis安全

CONIFG  GET  requirepass:查看redis是否设置了密码

CONFIG  SET  requirepass  xxx:重置redis密码

【11】Redis事务

MULTI:标记一个事务的开始

EXEC:执行事务块内的所有命令

DISCARD:取消事务,放弃执行事务块内的所有命令

UNWATCH:取消watch命令对所有key的监视

WATCH  key  [key...]:监视一个(或多个)key,如果在事务执行之前这个(或这些)key被其他命令所改动,那么事务将被打断

在Apache Tomcat 7设置redis作为session store redis已经有组件支持直接在tomcat7中设置下将redis作为tomcat默认的session存储器,下面介绍下配置过程 1.从http://redis.io/下载redis,按照redis服务端 wget http://download.redis.io/redis-stable.tar.gz tar xvzf redis-stable.tar.gz cd redis-stable make 2.启动redis cd RedisDirectory/src ./redis-server --port 6379 3.从http://tomcat.apache.org/download-70.cgi下载tomcat7,按照tomcat7 4.从https://github.com/xetorthio/jedis/downloads下载jedis作为java的redis客户端, 从https://github.com/jcoleman/tomcat-redis-session-manager/downloads下载tomcat的redis session manager插件, 从http://commons.apache.org/proper/commons-pool/download_pool.cgi下载apache的common pool包, 将这几个jar包拷贝到tomcat7的lib目录下 其实这里是有坑的,不过你们比较幸运,我帮你先踩了。如果你全部下载最新版本的话,肯定启动不起来。我试了很久才匹配这些jar的版本。在附件中可以下载。声明一下我用jdk是1.7的 5.修改tomcat的conf下的context.xml文件,添加或者修改下面的配置 Java代码 收藏代码 <Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" /> <Manager className="com.radiadesign.catalina.session.RedisSessionManager" host="localhost" <!-- optional: defaults to "localhost" --> port="6379" <!-- optional: defaults to "6379" --> database="0" <!-- optional: defaults to "0" --> maxInactiveInterval="60" <!-- optional: defaults to "60" (in seconds) --> /> 6.重启tomcat后就可以看到session存储到redis上了。 要严格注意你的jar版本 commons-pool-1.3.jar jedis-2.0.0.jar tomcat-redis-session-manager-1.2-tomcat-7-java-7.jar
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值