Redis五种数据类型

发布时间:2024-02-14 点击:143
系统运维
redis简介
redis 是一个开源的使用 ansi c 语言编写、遵守 bsd 协议、支持网络、可基于内存亦可持久化的日志型、key-value 数据库,并提供多种语言的 api。
它通常被称为数据结构服务器,因为值(value)可以是 字符串(string), 哈希(map),列表(list),集合(sets)和 有序集合(sorted sets)等类型。
redis安装
$ wget http://download.redis.io/releases/redis-5.0.5.tar.gz$ tar xzf redis-5.0.5.tar.gz$ cd redis-5.0.5$ make以后台方式启动redis
修改redis.conf文件
将daemonize on
修改为
daemonize yes启动redis
src/redis-server redis.conf
开机启动redis
执行安装脚本,一直默认就可以
./utils/install_server.sh
mv /etc/init.d/redis_6379 /etc/init.d/redis设置redis密码
vim /etc/redis/6379.confrequirepass redispassservice redis restart再次连接发现需要输入密码
redis命令
全局命令
获取键
keys patternkeys还支持通配符
127.0.0.1:6379> set we hellook127.0.0.1:6379> keys *1) we127.0.0.1:6379> set name wangerok127.0.0.1:6379> keys name1) name127.0.0.1:6379> keys *1) name2) wekeys 命令遍历了redis中所有的键,当键的数量过多时会影响redis性能
删除键
del key1 key2 .. 例如:
127.0.0.1:6379> keys *1) qwe2) asd3) we127.0.0.1:6379> del asd qwe(integer) 2127.0.0.1:6379> keys *1) we判断键是否存在
exists key1 key2 例如:
127.0.0.1:6379> exists we(integer) 1127.0.0.1:6379> exists name(integer) 0127.0.0.1:6379> set qwe 2ok127.0.0.1:6379> exists we qwe(integer) 2127.0.0.1:6379> exists we name(integer) 1获取键的总数
dbsize 例如:
127.0.0.1:6379> dbsize(integer) 2127.0.0.1:6379> keys *1) qwe2) we获取键的数据类型
type key 例如:
127.0.0.1:6379> type westring127.0.0.1:6379> lpush list1 1 2 3(integer) 3127.0.0.1:6379> type list1list对列表、集合、有序集合的元素进行排序
sort key [by pattern] [limit offset count] [get pattern [get pattern ...]] [asc|desc] [alpha] [store destination] 例如:
127.0.0.1:6379> lrange list 0 -11) 52) 73) 24) 45) 36) 1sort list desc limit 0 5 1) 72) 53) 44) 45) 3127.0.0.1:6379> lpush list2 asd qwe zxc(integer) 3sort list2 desc limit 0 5 alpha1) zxc2) qwe3) asd清空数据库
flushdb //清空当前数据库flushall //清空所有数据库 例如:
127.0.0.1:6379[11]> set a 1ok127.0.0.1:6379[11]> get a 1127.0.0.1:6379[11]> flushdbok127.0.0.1:6379[11]> get a (nil)将指定的键移动到其他数据库
move key db 例如:
127.0.0.1:6379[11]> set a 1ok127.0.0.1:6379[11]> move a 2(integer) 1127.0.0.1:6379[11]> select 2ok127.0.0.1:6379[2]> get a1字符串
字符串类型是redis最基础的数据结构,字符串类型是其他几种数据类型的基础,他能存储任何形式的字符串,包括二进制数据
设值取值
set key value [ex seconds] [px milliseconds] [nx|xx]get keynx:键必须不存在,才可以设置成功,用于添加。
xx:与nx相反,键必须存在,才可以设置成功,用于更新
例如:
127.0.0.1:6379> set name wangerok127.0.0.1:6379> get namewanger127.0.0.1:6379> setnx name wanger (integer) 0127.0.0.1:6379> set name wang xxok批量设值取值
mset key1 value1 key2 value2 ..mget key1 key2 例如:
127.0.0.1:6379> mset key1 1 key2 2ok127.0.0.1:6379> mget key1 key21) 12) 2对键值自增自减
incr keydecr key 例如:
127.0.0.1:6379> incr key1(integer) 2127.0.0.1:6379> incr key2(integer) 3127.0.0.1:6379> get key12127.0.0.1:6379> get key23127.0.0.1:6379> get wehello127.0.0.1:6379> incr we(error) err value is not an integer or out of range127.0.0.1:6379> decr key1(integer) 1127.0.0.1:6379> decr key2(integer) 2追加值
append key value 例如:
127.0.0.1:6379> append key hello(integer) 5127.0.0.1:6379> append key world(integer) 10127.0.0.1:6379> get keyhelloworld获取字符串长度
strlen key 例如:
127.0.0.1:6379> get keyhelloworld127.0.0.1:6379> strlen key(integer) 10127.0.0.1:6379> set name 王二ok127.0.0.1:6379> strlen name(integer) 6设置和获取指定位置的字符串
setrange key offset valuegetrange key start end 例如:
127.0.0.1:6379> set key1 hello worldok127.0.0.1:6379> setrange key1 6 redis(integer) 11127.0.0.1:6379> get key1hello redis127.0.0.1:6379> getrange key1 6 12redis字符串对象编码
字符串类型的内部编码有3种:
int:8个字节的长整型。
embstr:小于等于39个字节的字符串。
raw:大于39个字节的字符串。
例如:
127.0.0.1:6379> set num 123456ok127.0.0.1:6379> object encoding numint127.0.0.1:6379> set short qweasdok127.0.0.1:6379> object encoding shortembstr127.0.0.1:6379> set raw wh

云服务器数据盘和存储盘价格
怎么查域名是在哪里注册的,如何进行域名申请查
申请域名注册要多少天 建站申请域名流程
浏览器是如何做到ssl证书认证的
招商局网站建设方案怎么做?网站服务器资源超标怎么解决?
什么是love 域名?love 域名主要用在哪一方面?
edu域名在哪里注册?edu域名注册申请流程是怎样的?
贵州网站制作为什么要明确主题?网站制作如何选虚拟主机?