一、String类型
String在redis里面是最简单的数据类型,它是用来存储字符串的,它也是最基本的数据类型。
我们可以使用redis-cli命令先连接到Redis,然后使用auth redis密码,来设置登录redis的密码。
使用keys * 命令来查看当前Redis库里面有多少个键。

现在是为空的。
我们可以通过set name lvxiaosha 和set age 18来设置键。

然后通过keys命令可以将当前库里面所有的key都拉取出来。
keys命令生产环境不建议使用
set
当对应key的value有值的时候,在set,会将当前的value覆盖
使用 SETNX key value; 当对应key的value有值的时候,不会对其造成影响
ttl key 查看当前key的过期时间(ttl : time to leave)
EXPIRE key 30 给一个key的值设置过期时间(单位秒)
也可以 set key value ex 20 也可以给一个值设置过期时间
时间过期 ttl age 为-2,过期后key和value都不存在了
APPEND key value 拼接
查看字符串长度 STRLEN key
累加/累减
incr key 相当于 key的value +1
decr key 相当于 key的value -1
INCRBY key 10 key的value + 数值
INCRBY key 10 key的value - 对应数值
为什么明明是字符串,但是可以做加减呢,因为虽然显示的是string但是对于这种数字保存的时候是 integaer类型
getrange 截取某一部分数据
getrange name 0 -1 (-1代表到达最长长度)
getrange name 0,4 (截取下标为 0-4长度的字符串)
setrange key [index] value 从下标 index开始包括index下标开始替换字符串内容
mset/mget 批量设值/批量取值
mset key1 value key2 value2
mget key1 key2
nsetnx 和 setnx差不多
redis默认有16个库,在redis.conf--database中配置(每个数据库数据不互通)
默认在下标为0的库中,切换库 select 1切换到下标为1的库
flushdb 清除当前库中所有内容
flushall 清除所有库中内容
二、hash类型
hash:类似于map,存储结构化数据结构,比如存储一个对象(不能有嵌套对象)
使用
hset key property value:
->hset user name 张三
创建一个user对象,这个对象中包含name属性,name值为张三
hget user name:活动用户对象中的name的值
hmset:设置对象中的对过键值对
->hmset user age 18 phone 13109885230
hmsetnx:设置对象中的多个键值对,存在则不添加
->hmsetnx user age 18 phone 13109885230
hmget:活动对象中的多个属性
->hmget user age phone
hgetall user:获得整个对象的内容
hincrby user age 2:累加属性
hincrbyfloat user age 2.2:累加属性
hlen user:有多少个属性
hexists user age:判断属性是否存在
hkeys user:获得所有的属性
hvals user:获得所有的值
hdel key filed [filed...]: 删除对象中的属性,没有属性后对象会自动删除
三、list类型
● 常用命令
● 案例
● 常用命令
◆ flushdb
◆ lpush list1 pig cow sheep chichen duck
◆ lrange list 0 -1 (查询)
◆ rpush list2 pig cow sheep chichen duck
◆ lpop list1(取值,取出就没有,从左边)
◆ rpop list2(取值,取出就没有,从右边)
◆ llen list1
◆ lindex list2 (从 0 开始)
◆ lset list 1 1001 (替换下标的值)
◆ linsert list1 before 1001 aaa( 在什么前面插入值)
◆ linsert list1 after 1001 aaa( 在什么后面插入值)
◆ lrem list 2 aaa(删除 相同的数据,2表示删除2个)
◆ ltrim list 1 2 (截取数据)
◆ del list1
● 案例
lpush list1 pig cow 想当于 left 以朝向左边的方式存放数据(<------)
rpush list2 pig cow 相当于 right 以朝向右边的方式存放数据 (------>)
四、set类型(不能有重复值的数据)
sadd set value1 value2 value3 添加,会自动去重
SMEMBERS set 查看set中元素
scard set 查看set中元素包含多少数量
SISMEMBER set value 查看set中是否包含某元素(1存在/0不存在)
srem set value 删除某元素
spop set (count) 加了count就是 出几个元素, 不加就默认出一个
SRANDMEMBER set count 从当前set中随机获取 conut个元素内容
在用户中(前几名随机获取几位幸运观众)
smove set1(源) set2(移动到这里) value 将set1中的value移动到set2中
差集/交集/并集
差集 sdiff set1 set2 去set1中包含的内容,set2不包含的取出来
sinter set1 set2 取交集
sunion set1 set2 取并集
五、zset类型
zset 是有序的
● 常用命令
● Redis命令参考网址
● 常用命令
◆ zadd [key] [number1] [val1] [number2] [val2] [number3] [val3] ...
◆ zrange [key] 0 -1 (查看)
◆ zrange [key] 0 -1 withscores (查看,带有分数)
◆ zrank [key] beef(查看index)
◆ zscore [key] beef (查看特定某一项的分数)
◆ zcard [key] (查看这个key中有几个成员)
◆ zcount [key] min max(查看min到max中间的数据,包含min和max)
◆ zrangebyscore [key] min max (包含)
◆ zrangebyscore [key] (min (max
(不包含 min 和max)
◆ zrangebyscore [key] 20 40 limit 1 2(类似分页)
◆ zrem [key] [val1] [val2] [val3] ... (删除,多项,后面直接添加)
● Redis命令参考网址
redisdoc.com