redis 篇 - 键 and string
redis
进入控制台
- redis-cil
- 需要输入密码的时候可以是用
-a
redis-cil -a abcd1234
redis 数据类型
- string
- hash
- list
- set
- zset( 有序集合)
键
select [index]
切换库 类似于 db 的use dbname
keys [pattern]
查看当前的键127.0.0.1:6379[1]> keys *
1) "test1"
2) "test"
del key
删除键127.0.0.1:6379[1]> del test
(integer) 1
dump key
返回序列化之后的值127.0.0.1:6379[1]> dump test
"\x00\x0bhello-world\b\x00\xad5\x9a\xf9\xb0\xf8\xf2?"
exists key
键是否存在127.0.0.1:6379[1]> exists test
(integer) 1
127.0.0.1:6379[1]> exists test1
(integer) 0
expire key seconds
设置过期时间127.0.0.1:6379[1]> expire test 20
(integer) 1
127.0.0.1:6379[1]> ttl test
(integer) 15
127.0.0.1:6379[1]> ttl test
(integer) 14
127.0.0.1:6379[1]> ttl test
(integer) 4
ttl key
获取过期时间127.0.0.1:6379[1]> ttl test
(integer) -2 127.0.0.1:6379[2]> ttl t1
(integer) -1
键不存在则返回
-2
键永不过期返回-1
pttl key
使用毫秒返回剩余的过期时间pexpire key milliseconds
设置过期时间为毫秒expireat key timestamp
设置到指定时间戳过期pexpireat key milliseconds
move key db
移动 key 到某 db127.0.0.1:6379[1]> keys *
1) "t1"
127.0.0.1:6379[1]> move t1 2
(integer) 1
127.0.0.1:6379[1]> select 2
OK
127.0.0.1:6379[2]> keys *
1) "t1"
127.0.0.1:6379[2]> select 1
OK
127.0.0.1:6379[1]> keys *
(empty list or set)
randomkey
返回随机的一个键127.0.0.1:6379[2]> randomkey
"t1"
127.0.0.1:6379[2]> randomkey
"t2"
rename key newkey
重命名127.0.0.1:6379[2]> rename t1 ttttt
OK
127.0.0.1:6379[2]> keys *
1) "ttttt"
2) "t2"
renamenx key newkey
当 newkey 不存在的时候重命名127.0.0.1:6379[2]> keys *
1) "tttt"
2) "ttttt"
127.0.0.1:6379[2]> set t1 3
OK
127.0.0.1:6379[2]> renamenx t1 tttt
(integer) 0
127.0.0.1:6379[2]> keys *
1) "t1"
2) "tttt"
3) "ttttt"
127.0.0.1:6379[2]>
type key
获取 key 的类型127.0.0.1:6379[2]> type tttt
string
字符串
set key value
get key value
getrange key start end
getset key value
设置成新的 value 并返回原 value127.0.0.1:6379[2]> set t1 test
OK
127.0.0.1:6379[2]> get t1
"test"
127.0.0.1:6379[2]> getset t1 fff
"test"
127.0.0.1:6379[2]> get t1
"fff"
127.0.0.1:6379[2]> getrange t1 0 1
"ff"
注意: redis 的 range 是两边都是闭区间,并作为一个 feature
ps. 个人用起来觉得比较别扭
setex key seconds value
设置 value 并且设置过期时间127.0.0.1:6379[2]> setex t2 10 f
OK
127.0.0.1:6379[2]> ttl t2
(integer) 4
psetex key milliseconds value
setnx key value
不存在 key 的时候设置127.0.0.1:6379[2]> setex t2 10 f
OK
127.0.0.1:6379[2]> ttl t2
(integer) 4
mset k1 v1 k2 v2
设置多个值127.0.0.1:6379[2]> mset k1 v1 k2 v2
OK
127.0.0.1:6379[2]> keys *
1) "k1"
2) "ttttt"
3) "t1"
4) "k2"
5) "tttt"
6) "t2"
127.0.0.1:6379[2]> get k1
"v1"
127.0.0.1:6379[2]> get k2
"v2"
127.0.0.1:6379[2]>
msetnx k1 v1 k2 v2
incr
值自增1127.0.0.1:6379[2]> set k1 1
OK
127.0.0.1:6379[2]> incr k1
(integer) 2
127.0.0.1:6379[2]> get k1
"2"
decr
值子减1127.0.0.1:6379[2]> decr k1
(integer) 1 127.0.0.1:6379[2]> get k1
"1"
append key value
追加 value 到原来的值127.0.0.1:6379[2]> append k1 test
(integer) 5
127.0.0.1:6379[2]> get k1
"1test"
redis 篇 - 键 and string的更多相关文章
- redis 五大数据类型之string篇
一: 1:string(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value. string类型是二进制安全的.意思是redis ...
- 数据库之redis篇(3)—— Python操作redis
虽然前面两篇已经说了redis的一些配置安装什么的,篇幅有点长,可能看完了也不知道怎么操作,这里再浓缩一下: 什么是redis redis完全开源免费的,遵守BSD协议,是一个高性能的非关系型key- ...
- Redis篇之操作、lettuce客户端、Spring集成以及Spring Boot配置
Redis篇之操作.lettuce客户端.Spring集成以及Spring Boot配置 目录 一.Redis简介 1.1 数据结构的操作 1.2 重要概念分析 二.Redis客户端 2.1 简介 2 ...
- Nosql之Redis篇
一.QuickStart 1.Redis简介: redis是一个性能优秀的内存数据库,通过key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字 ...
- redis对键进行的相关操作
redis对键操作的相关命令以及如何在python使用这些命令 redis对键操作的命令: 命令 语法 概述 返回值 Redis DEL 命令 del key [key ...] 该命令用于在 key ...
- Redis字符串键的底层原理
before C语言基础 Redis基础 导入 redis的命令如下: set x "hello"; get x; hello Redis作为一种存储字符串的缓存结构,其具体实现是 ...
- 《【面试突击】— Redis篇》--Redis都有哪些数据类型?分别在哪些场景下使用比较合适?
能坚持别人不能坚持的,才能拥有别人不能拥有的.关注编程大道公众号,让我们一同坚持心中所想,一起成长!! <[面试突击]— Redis篇>--Redis都有哪些数据类型?分别在哪些场景下使用 ...
- Redis启动服务和String常用命令
Redis启动服务和String常用命令 1. 启动Redis服务 E:\redis>redis-server.exe redis.windows.conf _._ _.-``__ ''-._ ...
- Redis 的键命令、HyperLogLog 命令、脚本命令、连接命令、服务器命令
Redis 的键命令.HyperLogLog 命令.脚本命令.连接命令.服务器命令 Redis 的键命令 Redis 的键命令主要用于管理 Redis 的键,如删除键.查询键.修改键及设置某个键等. ...
随机推荐
- 【SQL优化】SQL优化工具
SQLAdvisor 是由美团点评公司北京DBA团队开发维护的 SQL 优化工具:输入SQL,输出索引优化建议. 它基于 MySQL 原生词法解析,再结合 SQL 中的 where 条件以及字段选择度 ...
- Codeforces Round #283 (Div. 2) A
解题思路:给出一个递增数列,a1,a2,a3,-----,an.问任意去掉a2到a3之间任意一个数之后, 因为注意到该数列是单调递增的,所以可以先求出原数列相邻两项的差值的最大值max, 得到新的一个 ...
- github踩坑之git命令收集与整理(windows)
最近开始又捡起git,第一家公司用的就是git,一直掌握的也不深刻,就知道常用的几个命令,虽然现在用svn,但是觉得git还是不能丢,遂又捡起来了.先总结一部分目前练习用到的,慢慢填补吧~ githu ...
- 第六章 Python之迭代器与生成器
迭代器 迭代:迭代是一个重复的过程,每次重复即一次迭代,并且每次迭代的结果是下一次重复的初始值 l=['a','b','c'] count=0 while count < len(l): pri ...
- ActiveMQ启动异常
启动报错信息:BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ...
- crm 系统项目(二) admin 后台操作表格
crm 系统项目(二) admin 后台操作表格 1. app下创建 templates 运行的时候 先找全局的templates——> 按照app的注册顺序找templates中的文件 2. ...
- 【【henuacm2016级暑期训练】动态规划专题 J】Red-Green Towers
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 显然最多1000行的样子. 从上到小做dp 设f[i][j]为前i行,使用了j个红色方块的方案数. f[1][r] = 1;如果r& ...
- 洛谷—— P1640 [SCOI2010]连续攻击游戏
https://www.luogu.org/problem/show?pid=1640 题目描述 lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1, ...
- 【转载】黑客内核:编写属于你的第一个Linux内核模块
黑客内核:编写属于你的第一个Linux内核模块
- hibernate配置数据库连接池三种用法
三种连接都是以连接MySQl为例. <!-- JDBC驱动程序 --> <property name="connection.driver_class">o ...