查询键
# 查询所有的键,遍历所有的键 keys *
127.0.0.1:6379> keys *
- “backup4”
- “backup3”
- “backup2”
127.0.0.1:6379>
查询键总数,直接获取redis内置的键总数变量
dbsize
127.0.0.1:6379> dbsize
(integer) 3
127.0.0.1:6379>
判断键是否存在
# 存在返回1,不存在返回0 exists key
127.0.0.1:6379> exists k1
(integer) 1
127.0.0.1:6379>
删除键
# 返回结果为成功删除键的个数 del key [key列表]
127.0.0.1:6379> del k1
(integer) 1
127.0.0.1:6379> keys *
- “backup4”
- “backup3”
- “backup2”
127.0.0.1:6379>
键过期
# 当超过过期时间,会自动删除,key在seconds秒之后过期 expire key seconds # 键在秒级时间戳timestamp后过期 expireat key timestamp # 当超过过期时间,会自动删除,key在milliseconds毫秒后过期 pexpire key milliseconds # key在毫秒级时间戳timestamp后过期 pexpireat key milliseconds-timestamp key # ttl命令可以查看键的剩余过期时间,单位秒 # >0 标识剩余过期时间,-1没有设置过期时间,-2键不存在 # pttl 毫秒级过期时间
键的数据结构类型
# 如果helo是字符串,返回string,如果键不存在返回none type key
键重命名
# key:原来的key名称 # newkey:新的key名称,只有newkey不存在时候才会覆盖 rename key newkey
随机返回一个键
randomkey
127.0.0.1:6379> randomkey
“backup3”
127.0.0.1:6379> randomkey
“setdemo”
127.0.0.1:6379> randomkey
“list”
遍历键
全量遍历
keys命令的原理就是扫描整个redis里面所有的db的key数据,然后根据我们的通配的字符串进行模糊查找出来
redis中允许模糊查询的有3个通配符,分别是:*,?,[]
渐进式遍历
SCAN 命令是一个基于游标的迭代器(cursor based iterator): SCAN 命令每次被调用之后, 都会向用户返回一个新的游标, 用户在下次迭代时需要使用这个新游标作为 SCAN 命令的游标参数, 以此来延续之前的迭代过程。当 SCAN 命令的游标参数被设置为 0 时, 服务器将开始一次新的迭代, 而当服务器向用户返回值为 0 的游标时, 表示迭代已结束
清除Redis所有缓存
flushall
查看redis服务是否启动
ps -aux | grep redis
检查键是否存在
exists key 存在返回1,不存在返回0字符串 String
SET --存入一个字符串键 SETNX --存入一个字符串键,若Key存在则 *** 作失败 GET --获取指定Key的字符串 MSET --批量存入字符串键 MGET --批量获取指定Key的字符串 DEL --删除指定Key(所有类型都可以使用此命令) 127.0.0.1:6379> set k2 v2 OK 127.0.0.1:6379> get k2 "v2" 127.0.0.1:6379> set k3 12 OK 127.0.0.1:6379> get k3 "12" 127.0.0.1:6379> set k4 12.24 OK 127.0.0.1:6379> get k4 "12.24" 127.0.0.1:6379> set k5 23.12f OK 127.0.0.1:6379> get k5 "23.12f" 127.0.0.1:6379> set k6 true OK 127.0.0.1:6379> get k6 "true" 127.0.0.1:6379> get k11 "v1" 127.0.0.1:6379> get k22 "v3" 127.0.0.1:6379> del key11 (integer) 1 127.0.0.1:6379> mget k4 k6 1) "12.24" 2) "true" 127.0.0.1:6379> set k1 k2 OK 127.0.0.1:6379> setnx k1 v11 (integer) 0列表 List
LPUSH Key value [value...] --往key的列表键中左边放入一个元素,key不存在则新建 RPUSH Key value [value...] --往key的列表键中右边放入一个元素,key不存在则新建 LPOP Key --从key的列表键最左端d出一个元素 RPOP Key --从key的列表键最右端d出一个元素 LRANGE Key start stop --获取列表键从start下标到stop下标的元素 eg:案例说明 127.0.0.1:6379> lpush list1 99 (integer) 10 127.0.0.1:6379> lpop list1 "99" 127.0.0.1:6379> rpop list1 "l44" 127.0.0.1:6379> lpush list1 87 (integer) 9 127.0.0.1:6379> lrange list1 0 10 1) "87" 2) "23" 3) "l4" 4) "l3" 5) "l2" 6) "l1" 7) "l11" 8) "l22" 9) "l33"无序集合 SET
SADD Key member [member...] --往集合键key中存放元素,若key不存在则新建 SREM Key member [member...] --从集合键key中删除元素 SMEMBERS Key --获取集合键key中的所有元素 SCARD Key --获取集合键key中的元素个数 SISMEMBER Key member --判断{member}元素是否存在于集合键key中 SRANDMEMBER Key [count] --从集合键key中选出{count}个元素,不从集合键key中删除 SPOP Key [count] --从集合键key中选出{count}个元素,并且从集合键key中删除 eg:案例说明 127.0.0.1:6379> sadd set001 1 (integer) 1 127.0.0.1:6379> sadd set001 2 3 4 (integer) 3 127.0.0.1:6379> srem set001 1 (integer) 1 127.0.0.1:6379> smembers set001 1) "2" 2) "3" 3) "4" 127.0.0.1:6379> scard set001 (integer) 3 127.0.0.1:6379> sismember set001 1 (integer) 0 127.0.0.1:6379> sismember set001 2 (integer) 1 127.0.0.1:6379> srandmember set001 2 1) "4" 2) "2" 127.0.0.1:6379> srandmember set001 2 1) "3" 2) "2" 127.0.0.1:6379> spop set001 1 1) "3" 127.0.0.1:6379> srandmember set001 1 1) "2" 127.0.0.1:6379> smembers set001 1) "2" 2) "4"散列表 HASH
hash HSET --存入一个key filed 散列结构 HSETNX --存入一个key field,若key中filed已经存在则 *** 作失败 HGET --获取指定key field HMSET --批量存入key filed HMGET --批量获取key filed HDEL --删除指定Key filed HINCRBY --对key field的数值进行加减 *** 作 eg:案例练习 127.0.0.1:6379> hset hset002 name '24dsf' (integer) 1 127.0.0.1:6379> hget hset002 name "24dsf" 127.0.0.1:6379> hmset hset002 age 98.2f sex 'nan' OK 127.0.0.1:6379> hmget hset002 age sex 1) "98.2f" 2) "nan" 127.0.0.1:6379> hdel hset002 s1 (integer) 1 127.0.0.1:6379> hset hset002 age1 98 (integer) 1 127.0.0.1:6379> hincrby hset002 age1 2 (integer) 100有序集合 ZSET
ZADD Key score element [...] --往有序集合键key中存放元素,若key不存在则新建 ZREM Key element [element...] --从有序集合键key中删除元素 ZSCORE Key element --获取有序集合键key中{element}元素的score值 ZINCRBY Key increment element --给有序集合键key中{element}元素进行score值 *** 作,若key不存在则新建,{element}元素不存在则新增后进行score值 *** 作 ZCARD Key --获取有序集合键key中元素个数 ZRANGE Key start stop [WITHSCORES] --正序获取有序集合键key中从start下标到end下标的元素 ZREVRANGE Key start stop [WITHSCORES] --倒序获取有序集合键key中从start下标到end下标的元素 # 添加 127.0.0.1:6379> zadd zset001 1 redis (integer) 1 127.0.0.1:6379> zadd zset001 2 mysql (integer) 1 127.0.0.1:6379> zadd zset001 3 oracle (integer) 1 # 删除 127.0.0.1:6379> zrem zset001 mysql # 查找指定元素的score (integer) 1 127.0.0.1:6379> zscore zset001 redis "1" 127.0.0.1:6379> zcard zset001 (integer) 2 127.0.0.1:6379> zrange zset001 0 1 1) "redis" 2) "mongodb" 127.0.0.1:6379> zrange zset001 0 0 1) "redis"pub/sub(发布,订阅)
1、publish channel message 发布消息 eg:publish channel:sports 'I want to go eatting' 2、subscribe channel [channel .....] 订阅消息 eg: subscribe channel:sports 3、unsubscribe channel [channel .....] 取消订阅 4、psubscribe pattern [pattern ......] 按照模式订阅 5、unpsubscribe pattern [pattern ......] 按照模式取消订阅 6、查询订阅 pubsub channels 查看活跃的频道 192.168.225.128:6379> pubsub channels 1) "channel:sports" 2) "__sentinel__:hello" pubsub numsub [channel ......] 查看频道订阅数 pubsub numsub channel:sports pubsub numpat 查看模式订阅数 7、说明: 客户端在执行订阅命令之后进入了订阅状态,只能接收四个命令:subscribe、psubscribe、unsubscribe、punsubscribe; 新开启的订阅客户端,无法收到该频道之前的消息,因为redis不会对发布的消息进行持久化。事务
# 取消执行事务块内的所有命令 discard # 执行事务块内的命令 exec # 标记一个事务块的开始 multi # 取消watch命令对所有key的监视 unwatch # 监视一个或者多个key,如果事务执行之前,这个kye被其它命令所动,则事务被打断 watch key [key ...]服务器
# 后台异步保存数据到硬盘 bgsave # 为连接设置、获取名字 client setname/client getname # 关闭地址为ip:port的客户端 client kill ip:port # 以人类可读的方式,返回所有的连接客户端信息和统计数据 client list # 取得运行redis服务器的配置参数 config get parameter # 设置redis服务器的配置参数 config set parameter value # 重置info命令的某些统计数据 config resetstat # 返回当前数据库key数量 dbsize # 清空整个redis服务器的数据 flushall # 清空整个当前redis服务器的数据 flushdb # 返回redis服务器的各种信息和统计数据 info [section] # 返回最近一次redis成功将数据保存到磁盘时的时间 lastsave # 实时打印出redis服务器接收到的命令 monitor # 将当前redis实例所有数据快照(snapshot)以rdb文件 save # 将当前服务器转变为指定服务器的从属服务器 slaveof host port # redis用来记录查询执行时间的日志系统 slowlog subcommand [argument]连接 Connection
# 登录redis输入密码 auth password # 打印特定信息message,测试时候使用 echo message # 测试与服务器连接,如果成功返回pong ping # 请求服务器关闭与当前客户端连接 quit # 切换到制定数据库 select index
redis常用命令
redis中scan和keys区别
个人网站
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)