redis 字符串的操作、hash类型和list类型

redis 的读写效率很高
redis:数据库(key:value) 键值存储
redis : 是非关系型数据库,是一个基于key - values(键-值)的存储,
redis 存储的都是键和值的类型(存的是一个字典的对象)
数据存储在缓存中,读取效率高,
打开百度搜素 redis ---> 中文版
redis 安装
1.下载:打开redis官方网站,推荐下载稳定版本(stable)
2.解压
3.进入到解压的文件夹目录
生成: sudo make
测试: sudo make test
将redis的命令安装到指定的目录: sudo make install
1.启动:进入到redis 的文件夹下 ,执行 : redis-server redis.conf
2.启动:(1.) redis-server (2.) redis-cli
退出redis ctil + c,exit,sudo service redis stop
如果进不去的操作:
以我们自己的配置文件/etc/redis/redis.conf 来进入
例如:sudo redis-server /etc/redis/redis.conf
redis-cli
(1.)关于 redis 的字符串操作(二进制数据,最大限制512MB)
设置键值: set key(键) values(值) 例如: set name huahua
查看键值: get key(键), 获取:根据键获取值,如果不存在此键则返回nil
如果要显示中文再开一个终端输入:redis-cli --raw ----> get name
设置过0期时间: setex key seconds(秒数) values(值,在有效时间内,可以是任意) 例如:setex name 10 huahua
替换: setrange key(键) offset(偏移量,从哪个位置开始替换) newvalues
例如: setrange name 2 kkk
判断key是否存在,不存在则创建: setnx key(键) value(值) 例如:setne name xigua
设置多个键值: mset key1 value1 key2 value2 ... 例如:mset name huahua age 17 book pytho
根据多个键获取多个值 : mget key1 key2 ... 例如:mget name age book
追加值(在末尾追加): append key value 例如:append name nihao
删除: del key
查看字符串的长度:strlen key
(2.)values(值)值得操作
例如:set int 10
在10的基础上减一个 decr int
(3.)键的操作
查看所有键:keys *
查看名称中包含a的键:keys 'a*' (正则,查看我们想要的key)
判断键是否存在 如果存在返回1,不存在返回0 :exists key1
随机返回一个key(从当前数据库中随机返回一个 key) : randomkey
查看键对应的value的类型 : type key
删除键及对应的值:del key1 key2 ...
给一个kay设置过期时间,以秒为单位(如果没有指定过期时间则⼀直存在,直到使⽤DEL移除):expire key seconds
查看有效时间,以秒为单位:ttl key (查看过期时间)
查看键'bb'的有效时间:ttl bb
给一个key重新命名:rename key newkey
删除key:del key
(4.)hash类型
hash⽤于存储对象,对象的结构为属性、值 值的类型为string
field(域,相当于字典里面的key键)
设置单个属性: hset key field value
获取⼀个属性的值:hget key field (获取域下面的值)
设置多个键和属性: hmset key field values fiels valuse....
获取多个属性的值: hmget key field field..... (获取域下面的多个值)
删除整个hash键及值,使⽤del命令 删除属性,属性对应的值会被⼀起删除:hdel key field field field .....
获取所有的域: hkeys key
获取所有的值: hvals key
获取所有域和值: hgetall key
获取键的长度:hlen key
给hash数据类型中的域的数字的值增加指定的值(处理的是数字类型):hincrby key fiels 数字
判断键下是否存在某个域:hexists key field
查看域对应值的长度:hstrlen key field
(5.)list数据类型
从左面开始插入(先插的在后面):lpush key valuse values....
从右面开始插入(先插的在前面):rpush key valuse values....
查看数据(队列)所有的值:lrange key start(起始位置,从0开始) end(结束-1) 例如: lrange lkey 0 -1
根据索引查找(取值):lindex key index
重新赋值:lset key index value
指定位置插入值:linsert key before|after value(给定一个值作为参照位置) newvalue
从左面取出,取出后即删除:lpop key
从右面取出,取出后即删除:rpop key
查看队列的长度:llen key
截取:ltrim key start stop 例如:ltrim key 2 5 ---->5 4 3 2
阻塞时间,(为0则一直阻塞,知道key对应的list有值,不为0,在设置的时间内,即使取不到值,也结束):brpop key key1 second
阻塞时间(同上):blpop
brpoplpush key key2 timeout (丛key右边取出值,丛左面取的值放在key里面)
.....

你可能感兴趣的:(redis 字符串的操作、hash类型和list类型)