Redis의 기본 포트 번호는 6379입니다.
기본적으로 16개의 데이터베이스가 있으며 0부터 시작하는 배열 첨자와 유사하게 초기 기본값은 라이브러리 번호 0을 사용합니다.
데이터베이스를 전환하려면 select <dbid></dbid>
명령을 사용하세요. 예: 8을 선택합니다. select <dbid></dbid>
来切换数据库。 如: select 8。
统一密码管理,所有库同样密码。
dbsize
查看当前数据库的key的数量。flushdb
清空当前库。flushall
通杀全部库。
Redis是单线程+多路IO复用技术。
多路复用是指使用一个线程来检查多个文件描述符( Socket )的就绪状态,比如调用select和poll函数,传入多个文件描述符,如果有一个文件描述符就绪,则返回,否则阻塞直到超时。得到就绪状态后进行真正的操作可以在同一个线程里执行,也可以启动线程执行(比如使用线程池)。
串行 VS 多线程+锁 ( memcached) VS 单线程+ 多路IO复用(Redis)
Redis与Memcache三点不同:
支持多数据类型
支持持久化
单线程+多路IO复用
keys *
:查看当前库所有key (匹配 : keys *1)
exists key
:判断某个key是否存在。type key
:查看你的key是什么类型。del key
:删除指定的key数据,
unlink key
:根据value选择非阻塞删除。仅将keys从keyspace元数据中删除,真正的删除会在后续异步操作。。expire key 10
:10 秒钟,为给定的key设置过期时间,ttl key
:查看还有多少秒过期, -1表示永不过期, -2表示已过期。
select
命令切换数据库,dbsize
查看当前数据库的key的数量。flushdb
清空当前库。flushall
通杀全部库
String是Redis 最基本的类型,一个key对应一个value。
String类型是二进制安全的。 意味着Redis的string可以包含任何数据。比如jpg图片
或者序列化的对象。
String类型是Redis最基本的数据类型, 一个Redis中字符串value最多可以是512M。
set、get等
set <key> <value></value></key>
:添加键值对。
当设置过值的key再被设置一个新的值时,新的值会覆盖旧的。
*NX:当数据库中key不存在时,可以将key-value添加数据库。
*XX:当数据库中key存在时,可以将key-value添加数据库,与NX参数互斥。
*EX: key的超时秒数。
*PX: key 的超时毫秒数,与EX互斥。
get <key></key>
查询对应键值.append <key> <value></value></key>
将给定的追加到原值的末尾,strlen <key></key>
获得值的长度。setnx <key> <value></value></key>
只有在key不存在时设置 key的值.
增减建的值
incr
将key中储存的数字值增1。
只能对数字值操作,如果为空,新增值为10
decr
将key中储存的数字值减1。
只能对数字值操作。如果为空,新增值为-1。
inrjy/ decrby <key></key>
통합 비밀번호 관리, 모든 도서관의 비밀번호가 동일합니다.
dbsize
현재 데이터베이스의 키 수를 확인하세요. flushdb
현재 라이브러리를 지웁니다. flushall
은 모든 라이브러리를 종료합니다.
Redis는 단일 스레드 + 다중 채널 IO 다중화 기술입니다.
멀티플렉싱은 하나의 스레드를 사용하여 선택 및 폴링 함수 호출, 여러 파일 설명자 전달, 하나의 파일 설명자가 준비되면 반환, 그렇지 않으면 시간 초과될 때까지 차단 등 여러 파일 설명자(소켓)의 준비 상태를 확인하는 것을 의미합니다. 준비 상태를 얻은 후 동일한 스레드에서 실제 작업을 수행하거나 스레드 실행을 시작할 수 있습니다(예: 스레드 풀 사용).직렬 VS 다중 스레드 + 잠금(memcached) VS 단일 스레드 + 다중 채널 IO 멀티플렉싱(Redis)
Redis 및 Memcache 3 차이점:
다양한 데이터 유형 지원
지속성 지원
keys *
: 현재 라이브러리의 모든 키를 봅니다(일치: 키 *1)
유형 키
: 키 유형이 무엇인지 확인하세요. 🎜del 키
: 지정된 키 데이터를 삭제하고, 🎜🎜연결 해제 키
: 값에 따라 비차단 삭제를 선택합니다. 키스페이스 메타데이터에서는 키만 삭제되며 실제 삭제는 나중에 비동기식으로 수행됩니다. . 🎜expire key 10
: 10초, 특정 키의 만료 시간 설정, 🎜ttl key
: 만료까지 남은 시간(초) 확인, -1은 만료되지 않음을 의미, -2는 만료되었음을 의미합니다. 🎜🎜select
명령은 데이터베이스를 전환하고, 🎜dbsize
는 현재 데이터베이스의 키 수를 확인합니다. 🎜flushdb
현재 라이브러리를 지웁니다. 🎜flushall
모든 라이브러리 종료 🎜set <key> <value></value></key>
: 키-값 쌍을 추가합니다. 🎜설정된 값이 있는 키가 새 값으로 설정되면 새 값이 이전 값을 덮어씁니다. 🎜🎜🎜🎜 🎜 *NX: 데이터베이스에 키가 없는 경우 키-값을 데이터베이스에 추가할 수 있습니다. 🎜*XX: 데이터베이스에 키가 존재하는 경우 NX 매개변수와 상호 배타적인 키-값을 데이터베이스에 추가할 수 있습니다. 🎜*EX: 키 시간 초과 초. 🎜*PX: 키의 시간 초과(밀리초), EX와 상호 배타적입니다. 🎜🎜🎜get <key></key>
해당 키 값을 쿼리합니다. 🎜append <value></value>
주어진 끝에서 🎜strlen <key></key>
는 값의 길이를 가져옵니다. 🎜setnx <key> <value></value></key>
키가 존재하지 않는 경우에만 키 값을 설정하세요. 🎜🎜빌드된 값을 늘리거나 줄입니다.🎜🎜🎜incr inrjy/ decrby <key></key>
msetnx
주어진 키가 모두 존재하지 않는 경우에만 하나 이상의 키-값 쌍을 동시에 설정합니다. 언제 성공해요?
getrange값 범위 가져오기 , Java의 하위 문자열과 유사, 전면 패키지, 후면 패키지
setrange는 만료 시간 설정
setex키 값을 설정하는 동안 만료 시간을 초 단위로 설정하세요. 이전 값 바꾸기
getset이전 값을 새 값으로 바꾸고 새 값을 설정하는 동시에 이전 값을 가져옵니다. 문자열 데이터 구조SDS는 String 데이터 구조의 약어로, 간단한 동적 문자열의 데이터 구조를 나타냅니다. 수정 가능한 문자열입니다. 내부 구조는 Java의 ArrayList와 유사하며, 잦은 메모리 할당을 줄이기 위해 미리 할당된 중복 공간을 사용합니다. 그림과 같이 내부 공간 용량은 일반적으로 실제 끈 길이 len보다 큽니다. 문자열 길이가 1M 미만인 경우 확장 시 기존 공간이 2배로 늘어납니다. 단, 길이가 1M를 초과하면 확장할 때마다 1M의 공간만 추가됩니다. 문자열의 최대 길이는 512M입니다.
위 내용은 Redis의 키와 문자열에 대한 일반적인 명령은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!