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 的键,如删除键.查询键.修改键及设置某个键等. ...
随机推荐
- AVL树,红黑树,B树,B+树,Trie树都分别应用在哪些现实场景中?
AVL树: 最早的平衡二叉树之一.应用相对其他数据结构比较少.windows对进程地址空间的管理用到了AVL树. 红黑树: 平衡二叉树,广泛用在C++的STL中.如map和set都是用红黑树实现的. ...
- JS 有一张0.0001米的纸,对折多少次可以达到珠穆朗玛峰的高度8848;
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 开源Android容器化框架Atlas开发者指南
Atlas是古希腊神话中的天神,是波士顿动力公司的机器人,借助搜索引擎,得以发现这个名词背后许许多多的含义.在手机淘宝,Atlas是一个扎根于Android客户端的一个组件化容器框架,相比神话中用手和 ...
- BZOJ 2820: YY的GCD 莫比乌斯反演_数学推导_线性筛
Code: #include <cstdio> #include <algorithm> #include <cstring> #include <vecto ...
- html全屏显示
JavaScript代码: function toggleFullScreen() { if (!document.fullscreenElement && // alternativ ...
- MATLAB解析PFM格式图像
http://www.p-chao.com/ja/2016-09-27/matlab%E8%A7%A3%E6%9E%90pfm%E6%A0%BC%E5%BC%8F%E5%9B%BE%E5%83%8F/ ...
- python--(常用模块-2序列化)
python--(常用模块-2序列化) 一.序列化: 把对象打散成bytes或者字符串. 方便存储和传输 序列化 把bytes或者字符串转换回对象. 反序列化 # dumps 序列化. 把对象转化成b ...
- [luogu] P4155 [SCOI2015]国旗计划(贪心)
P4155 [SCOI2015]国旗计划 题目描述 A 国正在开展一项伟大的计划 -- 国旗计划.这项计划的内容是边防战士手举国旗环绕边境线奔袭一圈.这项计划需要多名边防战士以接力的形式共同完成,为此 ...
- VS2015 C# 编写USB通信上位机时,改变net框架导致DLL调用失败的问题解决方法
最近在写USB通信的上位机,调用了windows里的DLL,开发环境:64位WIN7 .VS2015.NET4.5.2:开发完成后在自己的电脑可用,在32位电脑.NET其他版本以及WIN10的环境下不 ...
- [Oracle] Merge语句
Merge的语法例如以下: MERGE [hint] INTO [schema .] table [t_alias] USING [schema .] { table | view | subquer ...