redis 的基本认识
一、redis的基本特点
- 1、数据持久化
- 2、单进程、单线程
- 3、
redis其实就是一个存储在内存中的一个大json对象(字典) 4、五大数据类型
redis = { k1: "123", # 字符类型 k2: [1, 2, 3, 4], # 列表类型 k3: {1, 2, 3, 4}, # 集合 k4: {name: "哈哈", age: 20}, # 字典类型 k5: {("张三", 20), ("李四", 30)} # 有序集合 }
二、常用的命令
| 命令 | 说明 |
|---|---|
| keys * | 查看全部的key |
| exists key名 | 检查一个key是否存在 |
| expire key名 时间 | 设置key过期时间(秒) |
| pexpire key名 时间 | 设置key过期时间(毫秒) |
| del key名 | 删除一个key |
| randomkey | 从数据库中随机返回一个key |
| rename key new_key | 修改一个key的名字 |
| type key名 | 获取当前key的数据类型 |
三、列表的操作
1、在列表的左边添加元素
lpush key value2、在列表的右边添加元素
rpush key value3、查看列表中元素
lrange key start stop4、移除列表中元素
移除并返回列表头元素
lpop key移除并返回列表尾元素
rpop key移除并返回列表中中间元素
lrem key count value # 将删除key这个列表中,count个值为value的元素
5、指定返回第几个元素
lindex key index6、获取列表中元素个数
llen key7、删除列表中指定元素
lrem key count value # count > 0:从表头开始向表尾搜索 # count < 0:从表尾开始向表头搜索
四、集合的操作
1、添加元素:
sadd set value1 value2.... 如: sadd team xiaotuo datuo2、查看元素:
smembers set 如: smembers team3、移除元素:
srem set member... 如: srem team xiaotuo datuo4、查看集合中的元素个数:
scard set 如: scard team15、获取多个集合的交集:
sinter set1 set2 如: sinter team1 team26、获取多个集合的并集:
sunion set1 set2 如: sunion team1 team27、获取多个集合的差集:
sdiff set1 set2 如: sdiff team1 team2
五、hash哈希操作
1、添加一个新值:
hset key field value 如: hset website baidu baidu.com将哈希表key中的域field的值设为value。
如果key不存在,一个新的哈希表被创建并进行 HSET操作。如果域 field已经存在于哈希表中,旧值将被覆盖。
2、获取哈希中的field对应的值:
hget key field 如: hget website baidu3、删除field中的某个field:
hdel key field 如: hdel website baidu4、获取某个哈希中所有的field和value:
hgetall key 如: hgetall website5、获取某个哈希中所有的field:
hkeys key 如: hkeys website6、获取某个哈希中所有的值:
hvals key 如: hvals website7、判断哈希中是否存在某个field:
hexists key field 如: hexists website baidu8、获取哈希中总共的键值对:
hlen field 如: hlen website