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 value
2、在列表的右边添加元素
rpush key value
3、查看列表中元素
lrange key start stop
4、移除列表中元素
移除并返回列表头元素
lpop key
移除并返回列表尾元素
rpop key
移除并返回列表中中间元素
lrem key count value # 将删除key这个列表中,count个值为value的元素
5、指定返回第几个元素
lindex key index
6、获取列表中元素个数
llen key
7、删除列表中指定元素
lrem key count value # count > 0:从表头开始向表尾搜索 # count < 0:从表尾开始向表头搜索
四、集合的操作
1、添加元素:
sadd set value1 value2.... 如: sadd team xiaotuo datuo
2、查看元素:
smembers set 如: smembers team
3、移除元素:
srem set member... 如: srem team xiaotuo datuo
4、查看集合中的元素个数:
scard set 如: scard team1
5、获取多个集合的交集:
sinter set1 set2 如: sinter team1 team2
6、获取多个集合的并集:
sunion set1 set2 如: sunion team1 team2
7、获取多个集合的差集:
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 baidu
3、删除field中的某个field:
hdel key field 如: hdel website baidu
4、获取某个哈希中所有的field和value:
hgetall key 如: hgetall website
5、获取某个哈希中所有的field:
hkeys key 如: hkeys website
6、获取某个哈希中所有的值:
hvals key 如: hvals website
7、判断哈希中是否存在某个field:
hexists key field 如: hexists website baidu
8、获取哈希中总共的键值对:
hlen field 如: hlen website