Redis(Remote Dictionary Server)远程字典服务,是一个开源的使用 ANSI C语言编写、支持网络、可基于内存亦可持久性的日志型、key-value 数据库,并提供多种语言的 API,是当下最流行的NoSQL技术之一。
3. list索引取值与长度
4. 移除指定的值
5. ltrim截断
6. rpoplpush: 移除list的最后一个元素,并将它移动到新列表中
7. lset: 修改指定下标的值
8. linsert: 在列表中的某个值前面或者后面插入值
hash数据类型也是key-value形式,只不过value为map形式。
zset为有序set数据类型。
geo数据类型用来计算地理位置信息,有效的位置范围为经度从 -180 度到 180 度,纬度从 -85.05112878 度到 85.05112878 度,其底层使用zset实现,zset的操作对geo类型也适用。
添加如下模拟数据:
获取两个位置间的距离,默认以米作为单位,还可以指定千米(km)、英里(mi)、英尺(ft)。
georadius 以给定的经纬度为中心,找出某一半径内的元素
hyperloglog常用来统计网站的每日访问量,即UV,UV是指通过互联网访问、浏览这个网页的自然人。访问的一个电脑客户端为一个访客,一天内同一个访客仅被计算一次。hyperloglog 的优点是占用内存小,并且是固定的。存储 2^64 个不同元素的基数,只需要 12 KB 的空间。但是也可能有 0.81% 的错误率。
bitmap就是通过最小的单位bit来进行0或者1的设置,表示某个元素对应的值或者状态。一个bit的值,或者是0,或者是1,常用来统计只有两个取值的一些变量,下面以统计一周的打卡来说明:
redis事务的本质是一组命令,一个事务中的所有命令都会被序列化,在事务执行过程中,会按照顺序执行,一次性、顺序性、排他性的执行一组命令。
Redis 事务的命令:
org.springframework.boot spring-boot-starter-data-redis 2.5.0 com.alibaba fastjson 1.2.76
spring.redis.host=localhost
spring.redis.port=6379
@SpringBootTest
public class RedisTest {@Autowiredprivate RedisTemplate redisTemplate;@Testpublic void testRedis() {JSONObject jsonObject = new JSONObject();jsonObject.put("name", "xiaoming");jsonObject.put("age", 20);jsonObject.put("job", "student");// 保存到redisredisTemplate.opsForValue().set("stu1", jsonObject.toJSONString());System.out.println(redisTemplate.opsForValue().get("stu1"));}}